等于/等于和=运算符之间的差异?

等于/等于和=运算符之间的差异?

.之间的区别是什么?a == ba.Equals(b)?


斯蒂芬大帝
浏览 440回答 3
3回答

扬帆大鱼

这取决于a和b.特别是,Equals是一个虚拟方法,因此它的行为不依赖于a和b的编译时类型。在爪哇,==将始终通过引用进行比较,这并不一定是您想要的,特别是对于字符串。在C#中,==可以重载,但不是虚拟的(它是static方法)。因此,如果a或b被宣布为object,它将通过参考进行比较,即使它们的实际类型重载。operator ==.还有,a.Equals(b)抛出NullReferenceException (NullPointerException(在Java中)如果是null.
打开App,查看更多内容
随时随地看视频慕课网APP