java中的list.indexof
list.add(newPerson(123,"zhang"));list.add(newPerson(12634,"wang"));list.add(newPerson...
list.add(new Person(123,"zhang"));
list.add(new Person(12634,"wang"));
list.add(new Person(1234,"sad"));
list.add(new Person(1235,"4"));
list.add(new Person(1253,"5"));
System.out.println(list.indexOf(new Person(123,"zhang")));
为什么输出是-1 。。。。不应该是0吗。 展开
list.add(new Person(12634,"wang"));
list.add(new Person(1234,"sad"));
list.add(new Person(1235,"4"));
list.add(new Person(1253,"5"));
System.out.println(list.indexOf(new Person(123,"zhang")));
为什么输出是-1 。。。。不应该是0吗。 展开
2016-01-14 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
关注
展开全部
java.util.ArrayList.indexOf(Object) 方法返回指定元素的第一个匹配项的索引在此列表中,或者-1,如果此列表中不包含该元素。
声明
以下是java.util.ArrayList.indexOf()方法的声明
public int indexOf(Object o)
参数
o -- 要搜索的元素。
返回值
此方法返回指定元素的第一个匹配项的索引在此列表中,或者如果此列表中不包含该元素返回-1。
声明
以下是java.util.ArrayList.indexOf()方法的声明
public int indexOf(Object o)
参数
o -- 要搜索的元素。
返回值
此方法返回指定元素的第一个匹配项的索引在此列表中,或者如果此列表中不包含该元素返回-1。
2015-07-22
展开全部
两个 Person 相等的条件是什么……如果不重写 equals 方法,按照基类 Object 的实现,两个 Person 相等当且仅当它们是同一个对象。显然 new 出来的是“新的”对象,也就是说后一次 new 出来的一定是和之前不同的对象,按照默认的规则,它和之前的对象都是“不相等”的。
没找到跟参数“相等”的对象,indexOf 就会返回 -1
没找到跟参数“相等”的对象,indexOf 就会返回 -1
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2020-01-15
展开全部
因为你indexOf里是一个新的Person对象,尽管他的属性和第一个add进去的Person一样 , 但 他俩不是指向同一个对象,也就是 == 和 equals的区别
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询