2020-04-15 |

比较对象

请记住,创建对象时,变量会存储对对象的引用。

因此,当使用相等测试运算符(==)比较对象时,它实际上比较的是引用,而不是对象值。

例子:

class Animal {
    String name;
    Animal(String n) {
        name = n;
    }
}
    
class MyClass {
    public static void main(String[ ] args) {
        Animal a1 = new Animal("Robby");
        Animal a2 = new Animal("Robby");
        System.out.println(a1 == a2);
    }
}
//输出 false

尽管有两个同名的对象,但是相等性测试返回false,因为我们有两个不同的对象(两个不同的引用或内存位置)。

0

发表评论

    评价:
    验证码: 点击我更换图片
    最新评论