Java字符串中""和null有什么区别,同时有两个会不会造成混淆,null能equals比较么

Java字符串中""和null有什么区别,同时有两个会不会造成混淆,null能equals比较么

null 代表的是空对象,对空对象做任何操作都不行的(equals也不行),除了=和==。 null 可以赋值给任何对象。
""代表的是空字符串,即一个字符串的长度是0。

如果一个字符串定义为null,调用equals函数只能触发空指针异常,而“”则不会,当String s="";时,s已被赋值,只是赋值的是空串,s.equals("")结果为true;而String s=null;则表示声明了字符串变量s,但是未赋值,你用一个未赋值的变量无论equals什么,都会触发空指针异常,因为没有可以进行比较的数据