有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何识别类实例的唯一性

我在安卓可穿戴设备上运行了一个类,它应该只有一个实例,但是我偶尔会观察到一些意想不到的行为,这让我猜测在某些情况下,可能会创建两个实例

如果我在C或C++世界,我会把日志语句添加到类的方法中,记录对象本身的内存地址,并且直接检查是否有两个对象或者仅仅一个。p>

什么是Java/Android等效的方法来识别特定的对象实例


共 (1) 个答案

  1. # 1 楼答案

    toString()的默认实现应该可以做到这一点。根据java docs,它返回^ {< CD2> },并且^ {CD3}}应该是唯一的,除非以这样一种方式重写它。根据java docs,看来默认的实现^ {< CD3}}使用对象的内存地址,提供与C或C++中所提到的功能类似的功能。p>

    如果hashCode()已被重写,则可以使用System.identityHashCode(Object)返回唯一的哈希代码,无论hashCode()是否已被重写。更多信息here