【发布时间】:2019-10-14 15:34:40
【问题描述】:
我知道this.toString() 不打印对象的地址,而是打印哈希码。我也读过this one 之类的讨论
但是,假设this.toString() 在 2 次打印相同的值,在第 3 次打印不同的值。 那么,我是否可以断定前2次的对象相同,而第三次的对象不同?
我正在尝试确定(仅用于测试)一个对象是相同的还是不同的。比如this 指向相同或不同的地址。
在 Android 设备上运行的 Java 中,有没有更好的方法来检查一个对象是否相同或不同? 或者如果我能以某种方式获得对象的地址,那么整个困境就解决了。
【问题讨论】:
-
toString可以以任何可能的方式实现,因此您永远无法从中获得一般意义上的可靠信息。如果您只关心具有已知toString()实现的特定对象,那么您可能会有所收获……但在一般情况下不会。另请注意,获取地址甚至不能完全解决问题,因为一旦原始对象被 GC,地址可能会被重新使用。
标签: java android object tostring