java中空指针和值为空的区别

来源:百度知道 编辑:UC知道 时间:2024/05/12 18:10:06
最好有个例子说明一下,不尽感激,加Q280984084

String s1 = null; // 空指针。
String s2 = ""; // 值为空。

s1.trim(); // 执行时程序会报空指针异常。
s2.trim(); // 执行正常。

String str1 = null;// 没有分配空间
String str2 = ""; // 分配内存空间,存在值

也就是null没有分配空间,""分配了空间,因此str1还不是一个实例化的对象,而str2已经实例化。
注意因为null不是对象,""是对象。