Chu*_*urk 0 c# java programming-languages
所以长话短说.一位教授在课堂上将这个问题作为一个讨论启动者.除了明显的
B = new SomeClass("B"); // But B can be null, can can be new SomeClass("A");
A = new SomeClass("A");
A==B
Run Code Online (Sandbox Code Playgroud)
在比较时会保证没有NPE,使用B == A而不是A == B的原因是什么?
A和B的类型相同,这与语言无关.因此,您可以假设Java的A.equals(B),或者C或C++中的等效语法等....
不,这不是功课.
Ted*_*opp 10
在Java中,A == B并B == A始终具有相同的语义.在C#(具有运算符重载)中,如果,例如,B是类的子类的实例,则可能存在差异A.
注意,这A.equals(B)不等于A == B.