1. 判断String
类型
1. 四种判断方式:
str == null; ------------------->判断
内存地址
是否相同
str.length() <= 0;------------->判断内容长度
str.isEmpty();----------------->判断内容是否为空
(即内容长度是否为0,它底层就是调用 .length() 方法,不过他的返回值是是boolean)
“”.equals(str);---------------->判断内容是相等
1.为空(没有内存地址的那种):只能使用 ==
来判断,其他判断方式都会报错
String str11 = null;
if (str == null){
System.out.println("==");//==
}
- 为空(有内存地址但是没有值的那种):四种方法都可以用
String str1 = "";
if( str1.equals("")) {
System.out.println("equals");//equals
}
if( !str1.isEmpty()){
System.out.println("isEmpty");//(这样表示没有打印)
}
if(str1.length() == 0){
System.out.println("length");//length
}
if(str1 == null){
System.out.println("length");//
}
- 有值:四种方法都可以用
String st3r = "abc";
if( str3.equals("abc")) {
System.out.println("equals");//equals
}
if( !str3.isEmpty()){
System.out.println("isEmpty");//isEmpty:判断不为空
}
if(str3.length()>0){
System.out.println("length");//length:判断长度
}
if(str3 == "abc"){
System.out.println("==");//
}
2. 总结
-
记住不同判断方法的作用。
-
如果String内容为空,有3种方法可以判断;(除了
==
其他方法都可以)
如果String内存地址为空,只有1中方法可以判断。( 只有==
这种方法) -
重点:
判断字符串不为空,且有内容的办法(就算是null也不会报错)
//这里传入这两个参数哪一个结果都是一样的
String str1 = null;
String str2 = "";
if (str1 != null && str1.isEmpty()){
System.out.println("==");//
}
//效果同上面一样,这个是apache的一个工具类(isEmpty方法源码:return str == null || str.length() == 0;)
if(!StringUtils.isEmpty(str1)){
System.out.println("==");//
}
2. 判断list
是否为空(有值)(Map、Set同list)
1. 三种判断方式
list!=null: -------------> 判断
是否存在
list,null表示这个list不指向任何的东西,如果这时候你调用它的方法,那么就会出现空指针异常。
list.isEmpty():--------> 判断list里是否有元素存在
(它底层调用的就是 .size() 方法,但是它的返回值是 boolean )
list.size():-------------> 判断list里有几个元素
- 为空(没有内存地址的那种):只能使用
==
来判断,其他判断方式都会报错
List list = null;
if(list == null ){
System.out.println("==");//==
}
- 为空(有内存地址但是没有值的那种):三种方法都可以用
List list1 = Arrays.asList();
if( list1.size() == 0){
System.out.println("size");//size
}
if(list1.isEmpty()){
System.out.println("isEmpty");//isEmpty
}
if(list1 != null){
System.out.println("==");//==
}
- 有值:三种方法都可以用
List list = Arrays.asList("1","2","3","A","B","C");
if(list.size() != 0){
System.out.println("size");//size
}
if(!list.isEmpty()){
System.out.println("isEmpty");//isEmpty
}
if(list != null){
System.out.println("==");//==
}
2. 总结
重点:
判断集合不为空,且有内容的办法(就算是null也不会报错)
List list3 = null;
if(list3 != null && list3.isEmpty()){
System.out.println("==");//
}