【发布时间】:2012-03-16 05:38:45
【问题描述】:
...换句话说: 假设我有 2 个这样声明的字符串:
String one = new String("yay!");
String two = new String("yay!");
这两个字符串是两个不同的对象,但是如果我运行
if(one.equals(two))
System.out.println("equals() returns true.");
我得到“equals() 返回 true”。 这是因为 String 类重写了 equals() 方法来实现内容级别的相等性。 但是,我需要访问引用级别的相等性(例如在 Object 中实现的相等性)以区分对象一和对象二。 我该怎么做?
我试过了:
one.getClass().getSuperclass().equals();
尝试调用 String 的 Object equals() 方法,但没有成功。
有什么建议吗?
【问题讨论】:
-
我不想跑题,但我想添加这些信息,我认为这对那些在这个问题中绊倒的人很有用。我的问题是能够处理实现内容平等作为唯一元素的对象。当然,我的问题的另一面是在 HashMap