我想比较一个custom class的两个数组,它们存储一些字符串和shorts.The的目的是从第二个数组中获取那些不在第一个数组中的项。 作为回报,我想要一个我的班级数组。JAVA - 获取两个数组之间的差异
感谢您的帮助。
我想比较一个custom class的两个数组,它们存储一些字符串和shorts.The的目的是从第二个数组中获取那些不在第一个数组中的项。 作为回报,我想要一个我的班级数组。JAVA - 获取两个数组之间的差异
感谢您的帮助。
首先,您需要在自定义类中创建一个接受同一类的对象的方法,并测试被推测对象是否具有与调用该方法的对象相同的值。然后循环访问数组,查看对象是否等于另一个对象。这已经在String类中完成了。在字符串类中有一个方法 equals(String s)
您可以使用
下面是如何比较2个字符串数组的示例。为了使它与你自定义类一起工作,只需改变数组类型并在你的类中创建一个.equals方法。
String[] array1={"Hello","Hi"};
String[] array2={"Hello","eat"};
for(int x=0;x<array1.length;x++){
Boolean present=false;
for(int y=0;y<array2.length;y++){
if(array1[x].equals(array2[y])){
present=true;
break;
}
}
if(!present){
System.out.println(array1[x]);
}
}
编辑:
这里是你将如何让你的equals方法中的自定义类
public class custom{
int value;
String text;
public Boolean equals(custom obj){
if(this.value==obj.value && this.text.equals(obj.text)){
return true;
}else{return false;}
}
}
非常感谢,它的工作 – DodoProgramms
欢迎您,请不要忘记选择正确的答案。 – Paul
向我们展示了你写的代码。 –
很难理解你的问题,对不起。 –
可能要检查出http://stackoverflow.com/questions/5283047/intersection-and-union-of-arraylists-in-java或http://stackoverflow.com/questions/13732312/differences-between-two-阵列。 – Sniper