Java 中对象比较、复制与聚合的深入探讨
1. 编写 equals 方法
在 Java 里,不能直接用 == 操作符来判断两个对象是否包含相同的数据。 == 操作符比较的是对象的内存地址,而非对象的内容。例如下面的代码:
// Create two Stock objects with the same values.
Stock company1 = new Stock("XYZ", 9.62);
Stock company2 = new Stock("XYZ", 9.62);
// Use the == operator to compare the objects.
// (This is a mistake.)
if (company1 == company2)
System.out.println("Both objects are the same.");
else
System.out.println("The objects are different.");
这里 company1 和 company2 虽然值相同,但它们是不同的对象,存储在不同的内存地址,所以 company1 == company2 的结果为 false 。
为了比较对象的内容,我们需要为类编写一个 equals 方法。以下是 Stock 类的
超级会员免费看
订阅专栏 解锁全文
1875

被折叠的 条评论
为什么被折叠?



