Это вопрос по Java и C #.
Мы все знаем, что Object Identity (==) проверяет, ссылаются ли два объекта на одно и то же местоположение, а Obejct Equality (метод Equals) проверяет, имеют ли два разных (не идентичных) объекта одинаковое значение. Равенство объектов одинаковы.
Например, ниже два логических выражения в операторах if, возвращающих true
string a="123";
string b="123";
if(a==b)
if(a.Equals(b))
Почему это так ??
Что является рациональным за этим дизайнерским решением?