当前位置: 首页 > 面试题库 >

在Java中检查对象相等性而不包含相等值

谷梁德容
2023-03-14
问题内容

是否有任何的java utils的,允许检查对象平等,不受 平等 覆盖?由于某些原因,我不想为类提供equals方法。我在单元测试中需要类似
SomeUtils.equals(a,b)之 类的东西 它比较所有对象字段(我想是通过反射)。


问题答案:

您可以EqualsBuilder.reflectionEquals(this, obj);在Apache Commons
EqualsBuilder中使用



 类似资料:
  • 问题内容: 据我了解(如果我错了,请纠正我),Hibernate使用对象引用来检查对象的相等性。当Hibernate识别同一数据库记录中有多个对象附加时,它将引发以下异常。 我的问题是,Hibernate是否使用方法检查对象是否相等(默认的equal方法使用对象引用)?如果为true,则重写的方法会改变Hibernate的行为吗? 注意:我的问题不是关于Hibernate持久对象中的实现或方法问题

  • 这是一个简化的示例,但假设我想在100x100网格上生成5个唯一位置。这些位置将存储在数组[[x, y],…]中。 尝试了生成随机 x 和 y 并检查数组 [x, y] 是否已经在结果数组中的明显方法。如果是,则生成不同的值,如果不生成,则将其添加到结果数组中。 但是,这将永远不会找到重复项,因为数组在技术上是不同的对象。那么,检测数组是否包含“相等”数组/对象的首选方法是什么?

  • 问题内容: …换句话说:假设我有2个这样声明的字符串: 这两个字符串是两个不同的对象,但是如果我运行 我得到“ equals()返回true”。这是因为String类重写equals()方法以实现内容级别相等。但是,我需要访问一个引用级别的相等性(如在Object中实现的相等性),以将一个对象与两个对象区分开。我怎样才能做到这一点? 我尝试了这个: 尝试调用String的Object equals

  • 问题内容: 为什么… 在给定…的情况下导致编译时出现不兼容的类型错误 … 才不是? 为什么我可以比较String和Object的对象引用,而不比较StringBuilder和String的对象引用?它们不是都只是指向存储位置吗? 谢谢 问题答案: 根据Java语言规范(15.21.3): 如果无法通过强制转换将任何一个操作数的类型转换为另一个操作数的类型,则将发生编译时错误(第5.5节)。两个操作

  • 我有一个Java类,下面是一个示例:

  • 我在JUnit测试中检查两个数组列表是否相等时遇到问题。当我测试两个列表是否相等时,它只检查它们的字符串表示形式是否相同。它适用于简单的示例,例如[1,2,3]、[1,2,3]或当列表包含以字符串表示的所有属性的对象时。但是当我有两个具有相同字符串表示形式但某些对象具有不同属性的列表时,我如何检查它们的相等性? 例如: 如果我有类Human的对象(int height,int weight,boo