import java.util.HashSet;
import java.util.Set;public class A{
public int hashCode(){return 1;}
public boolean equals(Object b){return true;}
public static void main(String args[])
{
Set set=new HashSet();
set.add(new A());
set.add(new A());
set.add(new A());
System.out.println("the set size is:"+set.size());
}
}
这个时候结果为1,如果去掉public boolean equals(Object b){return true;} 方法时结果为3,能不能解释这里的原理?
import java.util.Set;public class A{
public int hashCode(){return 1;}
public boolean equals(Object b){return true;}
public static void main(String args[])
{
Set set=new HashSet();
set.add(new A());
set.add(new A());
set.add(new A());
System.out.println("the set size is:"+set.size());
}
}
这个时候结果为1,如果去掉public boolean equals(Object b){return true;} 方法时结果为3,能不能解释这里的原理?
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货