为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

斯蒂芬大帝 2019-07-12 10:51:23
等于/等于和=运算符之间的差异?.之间的区别是什么?a == b和a.Equals(b)?
查看完整描述

3 回答

?
扬帆大鱼

TA贡献1799条经验 获得超9个赞

这取决于ab.

特别是,Equals是一个虚拟方法,因此它的行为不依赖于a和b的编译时类型。

在爪哇,==将始终通过引用进行比较,这并不一定是您想要的,特别是对于字符串。

在C#中,==可以重载,但不是虚拟的(它是static方法)。因此,如果ab被宣布为object,它将通过参考进行比较,即使它们的实际类型重载。operator ==.

还有,a.Equals(b)抛出NullReferenceException (NullPointerException(在Java中)如果是null.


查看完整回答
反对 回复 2019-07-12
  • 3 回答
  • 0 关注
  • 439 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信