输出的结果是什么,每个变量的值是多少==的规则是什么

Vector2 p1 = new Vector2();
p1.setComponents(0, 0);
Vector2 p2 = new Vector2();
p2.setComponents(0, 0);
System.out.println(p1 == p2);

输出的结果是 false。变量 p1 和 p2 分别被分配了不同的内存地址,虽然它们的组件值相同,它们的内存指针地址不同,即使值相同,它们也不是相同的对象。因此,使用 == 运算符来比较对象的时候,它们必须具有相同的内存指针地址才会返回 true。

Java不支持运算符重载,所以说 == 永远都是判断它们是否是同一个对象,除此之外,都不等,就连 String 的比较都不能 ==