提问人:Luchian Grigore 提问时间:10/27/2011 最后编辑:Luchian Grigore 更新时间:10/27/2011 访问量:948
如何在Java中比较两个值?
How to compare two values in Java?
问:
我需要比较 Java 中的两个对象,但它们包含很多成员,有些是不可见的,而且我无权访问源代码 - 它们是来自第三方包的对象。
我需要找出它们之间有什么区别。类似于比较 C++ 中的内存块。但是我不知道如何在Java中做到这一点。
有什么帮助吗?
编辑:一些进一步的信息:我正在对两个对象进行一些操作 - 在一个对象上操作成功,在另一个对象上操作失败。但是,我无法说出有什么不同,这就是为什么我需要这种比较。我似乎无法让反思工作,成员不可见例外或像私人成员那样的 smth。
答:
1赞
herrlado
10/27/2011
#1
2赞
denis.solonenko
10/27/2011
#2
看看这个问题:有没有一个 Java 反射实用程序可以对两个对象进行深度比较?
Unitils 可能对您有所帮助
1赞
Ewald
10/27/2011
#3
反思是一种可能的方法。
通过 Java Reflection,您可以访问这两个对象及其内容,无论它是否是私有的。但要小心,这可能被视为逆向工程,并且您可能会使用反射违反许可协议。
评论
o1.equals(o2)
equals()