①举例
当字符串str被设置为null时,str引用没有指向任何对象,所以无法调用equals方法。执行会报空指针异常:
②举例
此时比较成功,因为Hello World字符串可以调用equals方法。
③举例
此时也运行成功,==运算符对于引用类型是做地址的比较;此时地址都为空,可以是相等的,返回true。
总结:
在用对象和null进行比较时,使用==和!=比较保险,若使用equals方法,可能会报空指针异常。
①举例
当字符串str被设置为null时,str引用没有指向任何对象,所以无法调用equals方法。执行会报空指针异常:
②举例
此时比较成功,因为Hello World字符串可以调用equals方法。
③举例
此时也运行成功,==运算符对于引用类型是做地址的比较;此时地址都为空,可以是相等的,返回true。
总结:
在用对象和null进行比较时,使用==和!=比较保险,若使用equals方法,可能会报空指针异常。