慕粉3912505
2017-04-01 20:32
9分21秒说原理时候有疑问。既然都是equals,那只会判断是不是值相等。为什么contains会判断为false。下面的代码结果true,应该和contains等效啊。
int flag=0; for (Kechen kechen : ke) { if(kechen.getId().equals(kecheng2.getId())&&kechen.getName().equals(kecheng2.getName())) { System.out.println("true"); flag=1; } }
我的Kechen相当于Course,kechneg2,相当于course2.
可以查一下api中对于equals方法的介绍,equals如果在不重写的情况下效果是和 == 相同,只有重写之后会按照定义的方式进行比较的,望对你有点帮助
Java入门第三季
409792 学习 · 4340 问题
相似问题