您的位置:首页 > 编程语言 > Java开发

Scala的eq,ne,equals,==方法与Java异同

2017-04-24 16:39 211 查看
Any是Scala继承关系中的根类,继承关系图如下:



Any根类的代码:

abstract class Any {

def equals(that: Any): Boolean

def hashCode(): Int

def toString(): String

final def getClass(): Class[_] = sys.error("getClass")

final def ==(that: Any): Boolean = this equals that //可以看出==底层实现调用的是equals方法

final def != (that: Any): Boolean = !(this == that) //!=底层实现也是调用的equals方法,因此可以有一个很好的判断

final def ##(): Int = sys.error("##")

final def isInstanceOf[T0]: Boolean = sys.error("isInstanceOf")

final def asInstanceOf[T0]: T0 = sys.error("asInstanceOf")

}从上面实现可以看出==与!=与equlas的关系了。

eq和ne是比较两个对象的引用是否相等的!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: