System.out.println(Color.RED.equals(Color.BLUE));// false
// 同一个对象
System.out.println(Color.RED.equals(Color.RED));// true
// 实际是两个 String
System.out.println(Color.RED.toString().equals("RED"));// true
// 实际是两个 String
System.out.println(Color.RED.getName().equals("red color"));// true
// hashCode
System.out.println("Color.RED.hashCode = " + Color.RED.hashCode());
}
如果重写了类似上面的 toString 方法,那么
[java] view plaincopyprint
System.out.println(Color.RED.toString().equals("RED"));
返回的可能是 true,也可能是 false,这取决于你的 toString 具体实现。
如下面这种实现方法:返回 _name 的大写形式。
[java]
@Override
public String toString() {
return this._name.toUpperCase();
}
综上,建议根据需要可以重写 toString 方法,善用 equals 方法。