public class EqualsMethod {
public static void main(String[] args) {
Integer n1 = new Integer(47);
Integer n2 = new Integer(47);
System.out.println(n1.equals(n2));
}
} 这个是true还是false
同样
class Value {
int i;
}
public class EqualsMethod2 {
public static void main(String[] args) {
Value v1 = new Value();
Value v2 = new Value();
v1.i = v2.i = 100;
System.out.println(v1.equals(v2));
}
}这个是true还是false,告诉我理由!
编程思想上的一个小问题!
public class EqualsMethod {
public static void main(String[] args) {
Integer n1 = new Integer(47);
Integer n2 = new Integer(47);//这是调用Integer的构造方法给n2赋值
System.out.println(n1.equals(n2));
System.out.println(n2);
System.out.print(n1);
}
}
public class EqualsMethod2 {
public static void main(String[] args) {
Value v1 = new Value();
Value v2 = new Value();
v1.i = v2.i = 100;//这里v1、v2这两个引用指向的是堆内存中两个不同对象的地址,通过下面打印也可以看出
System.out.println(v1.equals(v2));
System.out.print(v2);
System.out.print(v1);
}