怎么么有人解释第三个的错误原因啊,
Number n3 = new Number();
Number n4 = new Number();
n3.i = 30;
n4.i = 30;
System.out.println(n3.equals(n4));//(3)false不明白什么意思....
按照你们的理论,equals比较的是数值,n3和n4的数值都是30呀.....
以下是引用jxry8888在2007-2-5 0:25:18的发言:
怎么么有人解释第三个的错误原因啊,
Number n3 = new Number();
Number n4 = new Number();
n3.i = 30;
n4.i = 30;
System.out.println(n3.equals(n4));//(3)false不明白什么意思....
按照你们的理论,equals比较的是数值,n3和n4的数值都是30呀.....
你自己又没有重写equals方法,你这样调用默认是Object给你 实现的,Object怎么知道你的相等 是i相等呢
所以,你得为你的Number类写一个equals方法
public boolean equals(Object other){
if(other instanceof Number){
Number n=(Number)other;
return n.i==this.i;
}else{
return false;
}
}