java中null与空字符串小结
1.类型分类
““表示一个java字符串对象,是一个空的字符串,长度为0. String s=””;表示声明一个字符串类型的引用,其值为""空字符串,这个s引用指向的是空字符串的内存空间;
null表示一个对象的值,不是字符串。String a=null;表示声明一个字符串对象的引用,但指向为null,也就是说还没有指向任何的内存空间。
区别
- 如果想要调用字符串的方法,那么null无法调用,因为null不是一个对象,内存中没有null的空间,调用isEmpty,length,equals方法显示空指针异常;而""表示一个字符串对象,可以调用以上的方法,返回结果依次为true,0,true。
- 字符串对象与null的值不相同,内存地址也不同。
- 空字符串对象与null的值不相同,内存地址也不同。
- new 方法创建出来的字符串,默认值就为"",而String类型成员的初始化值为null。
java中判断字符串为空的方法
if(s == null || s.equalse(""));
if(s == null || s.length() == 0);
注意:s==null是不可缺少的,如果String的类型为null,那么equals()和length()函数没法使用,出现空指针异常,并且必须放在||的前面。