java如何识别类实例的唯一性
我在安卓可穿戴设备上运行了一个类,它应该只有一个实例,但是我偶尔会观察到一些意想不到的行为,这让我猜测在某些情况下,可能会创建两个实例
如果我在C或C++世界,我会把日志语句添加到类的方法中,记录对象本身的内存地址,并且直接检查是否有两个对象或者仅仅一个。p>
什么是Java/Android等效的方法来识别特定的对象实例
你可以在下面搜索框中键入要查询的问题!
我在安卓可穿戴设备上运行了一个类,它应该只有一个实例,但是我偶尔会观察到一些意想不到的行为,这让我猜测在某些情况下,可能会创建两个实例
如果我在C或C++世界,我会把日志语句添加到类的方法中,记录对象本身的内存地址,并且直接检查是否有两个对象或者仅仅一个。p>
什么是Java/Android等效的方法来识别特定的对象实例
# 1 楼答案
toString()
的默认实现应该可以做到这一点。根据java docs,它返回^ {< CD2> },并且^ {CD3}}应该是唯一的,除非以这样一种方式重写它。根据java docs,看来默认的实现^ {< CD3}}使用对象的内存地址,提供与C或C++中所提到的功能类似的功能。p>如果
hashCode()
已被重写,则可以使用System.identityHashCode(Object)
返回唯一的哈希代码,无论hashCode()
是否已被重写。更多信息here