这是一个 Java 和 C# 问题。我们都知道,Object Identity(==) 测试两个对象是否引用相同的位置,Obejct Equality(Equals 方法) 测试两个不同(不相同)的对象是否具有相同的值。但是如果是字符串对象 Object Identity 和对象平等是相同的。例如,if 语句中的两个布尔表达式以下返回 true
string a="123";
string b="123";
if(a==b)
if(a.Equals(b))
为什么会这样??这个设计决策背后的原因是什么?