gpt4 book ai didi

java - 调试纯 Java 时获取 OID

转载 作者:行者123 更新时间:2023-11-30 08:17:09 24 4
gpt4 key购买 nike

在 Eclipse IDE(核心 Java)中调试时,检查的对象会显示在 id 后面,例如:myObject=MyClass (id=123)

为了检测意外的对象更改,记录任何 OID 也会很有帮助。知道如何编写返回对象特定唯一 ID 的 getOid() 方法吗?它不需要可序列化,只需在一次运行中使用。与 hashCode() 相比,OID 必须是唯一的。这个 getOid() 可能返回 int、long、String 或任何可打印的内容。预先感谢您

最佳答案

我相信 System.identityHashCode(Object x) 就是您正在寻找的。正如 javadoc 给出的,它打印出与对象默认 hashCode() 打印的值相同的值。这应该是唯一的,因为它通常是对象的内存地址。在这种情况下,您也可以使用默认的 hashCode()。

您还可以使用 java.util.Objects.hash(Object...values) 并传入对象的字段来重写 hashCode() 方法。这将为您验证对象的内部结构没有发生变化。

但是,您是否试图跟踪 Eclipse 定义的相同内部 ID?我不太肯定,但我怀疑它是由 Eclipse 调试器内部分配的,您无法使用。

关于java - 调试纯 Java 时获取 OID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29497477/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com