判断一个字符串str不为空的方法有:
1、str == null;
2、”“.equals(str);
3、str.length <= 0;
4、str.isEmpty();
注意:length是属性,一般集合类对象拥有的属性,取得集合的大小。
例如:数组。length就是取得数组的长度。
length()是方法,一般字符串类对象有该方法,也是取得字符串长度。
例如:字符串。length();
String str = null 表示这个字符串不指向任何的东西,如果这时候调用他的方法,会出现空指针异常
String str = " " 表示它只想一个长度为0的字符串,这时候调用他的方法是安全的
null不是对象,而 " "是对象,所以null没有被分配空间," "被分配了空间
String str1 = null; str引用是空的
String str2 = " "; str引用一个空字符串
str1不是一个实例化的对象,str2已经实例化
对象用equals比较,null用等号比较。
如果str1=null;下面的写法错误:
if(str1.equals(”“)||str1==null){ }
正确的写法是 if(str1==null||str1.equals(”“)){ //所以在判断字符串是否为空时,先判断是不是对象,如果是,再判断是不是空字符串 }
所以,判断一个字符串是否为空,首先就要确保他不是null,然后再判断他的长度。
String str = xxx;
if(str != null && str.length() != 0) { }
第一个方法 是效率最低的,也是很多人使用的一个方法,直观方便
第二个方法 比较字符串的长度,效率高,是最好的一个方法
第三个方法 Java SE 6.0 才开始提供的方法, 效率和方法二几乎相等,但是考虑到兼容性,推荐使用方法二
第四个方法 一种比较直观简便的方法,而且想律也很高,与二、三效率差不多