首页 / JAVA / 相等的对象比较:JAVA
相等的对象比较:JAVA
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了相等的对象比较:JAVA,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1762字,纯文字阅读大概需要3分钟。
内容图文
![相等的对象比较:JAVA](/upload/InfoBanner/zyjiaocheng/703/9b3571cef49c441a96800339ef4c8e67.jpg)
public ClassA
{
private String firstId;
private String secondId;
public void setFirstId(String firstId) {
this.firstId = firstId;
}
public String getFirstId() {
return id;
}
public void setSecondId(String secondId) {
this.secondId = secondId;
}
public String getSecondId() {
return secondId;
}
}
public ClassB
{
private String firstId;
private String secondId;
public void setFirstId(String firstId) {
this.firstId = firstId;
}
public String getFirstId() {
return id;
}
public void setSecondId(String secondId) {
this.secondId = secondId;
}
public String getSecondId() {
return secondId;
}
}
我有上面两个类(POJO)绝对相同(当然名称除外)我将添加到两个arraylists:aListA和aListB.我需要比较两个对象是否相同.如果它们是相同的,我需要将它们添加到另一个列表(commonList),如果它们恰好是不同的,我需要将它们添加到另一个列表(differentList).我写了以下代码:
ClassA clsA = null;
public ArrayList genCommonList(aList, bList)
{
for(int i = 1; i<aList.size(); i++)
{
clsA = new ClassA;
Object obj = aList.get(i);
clsA = (ClassA)obj;
if(bList.contains(clsA)
{
genCommonList.add(clsA);
}
}
public ArrayList genDifferentList(aList, bList)
{
for(int i = 1; i<aList.size(); i++)
{
clsA = new ClassA;
Object obj = aList.get(i);
clsA = (ClassA)obj;
if(!bList.contains(clsA)
{
genDifferentList.add(clsA);
}
}
我的问题是,即使两个不同POJO中的数据(两个变量,firstId和secondID)相同,它们也会被放入不同的列表中.这意味着不使用ArrayList类的contains()方法对对象进行相等性比较.我不想从POJO中的每个变量获取数据并进行比较.有没有办法比较两个变量的POJO并确定为相等或不相等?
解决方法:
虽然内容相同,但它们是不同的对象,不能满足相同的条件.您可能需要通过迭代显式地执行a.getfirstId().equals(b.getfirsId())和a.getscondID().equals(b.getSecondId()).
另一种可能性是覆盖两个POJO类中的equals和hashcode方法.请参阅此链接以获取equals/hashcode contract.
内容总结
以上是互联网集市为您收集整理的相等的对象比较:JAVA全部内容,希望文章能够帮你解决相等的对象比较:JAVA所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。