您好,"".equals(name) 和name.equals("") 都什么意思?有区别吗?

"".equals(name) 和name.equals("") 都什么意思?有区别吗?


拉风的咖菲猫
浏览 310回答 2
2回答

忽然笑

逻辑上没有什么区别,因为在重写equals的时候有一条就是满足“对称性”,即如果x.equals(y)返回true,那么y.equals(x)也应该返回true。但是,"".equals(name)这种写法要安全很多,因为在当name=null的时候name.equals("")会报空指针异常。
打开App,查看更多内容
随时随地看视频慕课网APP