ef278ea030
- add code formatting - remove 'reference' adjective, as Kotlin doesn't distinguish primitives from reference types - add the requirement of inequality to null - replace inaccurate note with a link to the reference (relates to KT-26604) #KT-14866
50 lines
2.4 KiB
Kotlin
50 lines
2.4 KiB
Kotlin
/*
|
|
* Copyright 2010-2015 JetBrains s.r.o.
|
|
*
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
* you may not use this file except in compliance with the License.
|
|
* You may obtain a copy of the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
* See the License for the specific language governing permissions and
|
|
* limitations under the License.
|
|
*/
|
|
|
|
package kotlin
|
|
|
|
/**
|
|
* The root of the Kotlin class hierarchy. Every Kotlin class has [Any] as a superclass.
|
|
*/
|
|
public open class Any {
|
|
/**
|
|
* Indicates whether some other object is "equal to" this one. Implementations must fulfil the following
|
|
* requirements:
|
|
*
|
|
* * Reflexive: for any non-null value `x`, `x.equals(x)` should return true.
|
|
* * Symmetric: for any non-null values `x` and `y`, `x.equals(y)` should return true if and only if `y.equals(x)` returns true.
|
|
* * Transitive: for any non-null values `x`, `y`, and `z`, if `x.equals(y)` returns true and `y.equals(z)` returns true, then `x.equals(z)` should return true.
|
|
* * Consistent: for any non-null values `x` and `y`, multiple invocations of `x.equals(y)` consistently return true or consistently return false, provided no information used in `equals` comparisons on the objects is modified.
|
|
* * Never equal to null: for any non-null value `x`, `x.equals(null)` should return false.
|
|
*
|
|
* Read more about [equality](https://kotlinlang.org/docs/reference/equality.html) in Kotlin.
|
|
*/
|
|
public open operator fun equals(other: Any?): Boolean
|
|
|
|
/**
|
|
* Returns a hash code value for the object. The general contract of `hashCode` is:
|
|
*
|
|
* * Whenever it is invoked on the same object more than once, the `hashCode` method must consistently return the same integer, provided no information used in `equals` comparisons on the object is modified.
|
|
* * If two objects are equal according to the `equals()` method, then calling the `hashCode` method on each of the two objects must produce the same integer result.
|
|
*/
|
|
public open fun hashCode(): Int
|
|
|
|
/**
|
|
* Returns a string representation of the object.
|
|
*/
|
|
public open fun toString(): String
|
|
}
|