第一段代码:
public class EqualsMethod {
public static void main(String[] args) {
String n1=“abc”;
String n2=new String(“abc”);
System.out.println(n1==n2);
System.out.println(n1.equals(n2));
}
}
运行结果:false true
第二段代码:
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));
}
}
运行结果:false
想问的问题:1.在java中“==”比较的是两个对象的什么啊?是物理地址么?而equals()比较的是内容。
2.请对上面两段代码的关键语句给予解释,当时听视频是没有明白,创建对象,及对象池的相关内容,唉没搞懂啊!求解释! |