为了账号安全,请及时绑定邮箱和手机立即绑定

两个相同的数组,但包含的方法不起作用

两个相同的数组,但包含的方法不起作用

ITMISS 2021-09-15 17:18:01
我有一个短信类:public class SmsClass {private String numberInside;private String name;public SmsClass( String numberInside ,String name) {    this.numberInside = numberInside;    this.name = name;}我尝试制作两个相同ArrayList的课程:SmsClass SmsClass3 = new SmsClass("name" , "19");SmsClass SmsClass4 = new SmsClass("name" , "19" );ArrayList<SmsClass> c1 = new ArrayList<>();ArrayList<SmsClass> c2 = new ArrayList<>();c1.add(SmsClass1);c1.add(SmsClass2);c2.add(SmsClass3);c2.add(SmsClass4);我有.contains方法问题。当我运行此代码时:for(int i = 0 ; i < c1.size() ; i++){    if (c1.contains(c2.get(i))) {        System.out.println("victory");    }}我有相同的数组,但没有找到。
查看完整描述

3 回答

?
皈依舞

TA贡献1851条经验 获得超3个赞

您尚未定义equals(并隐式hashCode),因此contains无法比较您的对象。如果您不覆盖这两种方法:Object::equals将使用(仅使用参考比较,通过==)和hashCode(在 java-8 中)将计算为伪随机数(基于 Marsaglia XOR 移位算法)。


查看完整回答
反对 回复 2021-09-15
  • 3 回答
  • 0 关注
  • 168 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信