我读到 .equals() 比较对象的值,而 == 比较引用(即 - 变量指向的内存位置)。请参见此处:Java 中 == 与 equals() 有什么区别?
但请注意以下代码:
package main;
public class Playground {
public static void main(String[] args) {
Vertex v1 = new Vertex(1);
Vertex v2 = new Vertex(1);
if(v1==v2){
System.out.println("1");
}
if(v1.equals(v2)){
System.out.println("2");
}
}
}
class Vertex{
public int id;
public Vertex(int id){
this.id = id;
}
}
输出:(
无)
不应该是打印2吗?