LinkedList.contains()为什么无法正确比较出一样的元素? 判断是否同一对象--- ZJQ 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 代码全贴出来!看你的意思是说你已经将一个mypair对象加到linkedlist中了,如果是那样的话,是一定可以找到的,如果不是,那么假使说linkedlist不是空的,而你要查找的mypair对象为空,也应该返回true,都则返回false. 正常情况下,你需要重载你的equals()方法。是不是你没有正常加入到List中。 class myPair{ public String myname = ""; public int flag = 0; public myPair(String name,f){ this.myname = name; this.flag = f; } public boolean equals(myPair inp){ if(inp.myname.compareTo(this.myname)==0 && inp.flag==this.flag) return true; else return false; }}class myL{ private LinkedList l_myinfo = new LinkedList(); ... ... public boolean msearchit(myPair inp){ boolean b_matched = false; //b_matched = l_myinfo.contains(inp); for(int i=0;i<l_myinfo.size();i++){ if((myPair)l_myinfo.get(i).equals(inp)){ b_matched = true; break; } } if(b_matched) return true; else return false; }}换成这种方法的话就能正确的查出元素,如果换成//行的写法而不用循环的话就总是return false; 终于找到问题所在了,原来重载equals的时候误把传入参数写成myPair了,应该是Object,呵呵。难怪,写成myPair就不是重载equals了。 求API 中文版的 讨教在MyEclipse里面写JSP的问题 一个valueOf()的问题。 static { } 这种结构这表示什么意思呢?? String类表示不变字符串,我的怎么变化了啊? 二个简单基础问题!!!! 请教一个java连接Oracle问题,以前我的一个java程序可以连接Oracle817。但是..... 如何获得磁盘空间? Java可以用于串口并口通信的应用么? java 的多线程问题 我想编程分析任意一个java文件,把其中的注释部分删掉,请帮我分析一下思路和方法好吗? 请问,怎样把Tomcat里的日志文件加到JBuilder里
public String myname = "";
public int flag = 0;
public myPair(String name,f){
this.myname = name;
this.flag = f;
}
public boolean equals(myPair inp){
if(inp.myname.compareTo(this.myname)==0 && inp.flag==this.flag)
return true;
else
return false;
}
}class myL{
private LinkedList l_myinfo = new LinkedList();
... ...
public boolean msearchit(myPair inp){
boolean b_matched = false;
//b_matched = l_myinfo.contains(inp);
for(int i=0;i<l_myinfo.size();i++){
if((myPair)l_myinfo.get(i).equals(inp)){
b_matched = true;
break;
}
}
if(b_matched)
return true;
else
return false;
}
}换成这种方法的话就能正确的查出元素,如果换成//行的写法而不用循环的话就总是return false;