java: isEmpty方法、null以及“ “的区别

先上代码便于理解

public static void main(String[] args) {
    String a=new String();
    String b="";
    String c=null;
    if(a.isEmpty()){
        System.out.print("String a=new String()");
    }
    if(b.isEmpty()){
        System.out.print("String b=''");
    }
    /*if(c.isEmpty()){
        System.out.print("c=null");}  空指针错误  */
   if(a.equals("")){
       System.out.print("a.equals(\"\")");
   }
   if(c==null){
           System.out.print(" c=null");
       }
}

输出

 

a:分配了储存空间,但值为空,绝对空

b:  分配了储存空间,值为空字符串,相对空

c:  未分配储存空间,无值,值不存在

总结

isEmpty():分配了储存空间,其储存的值为空,绝对的空,无值

“”  :分配了储存空间,其储存的值为空的字符串,相对的空,值为空字符串

null :未分配储存空间,无值,值不存在

注意:

isEmpty()方法用来判断某个字符串是否为 空字符串。

String的isEmpty()方法,在String为null的时候,会出现空指针错误。例如 c.isEmpty()

new String()和””,会有占位符,创建了对象,而null的时候,String 不会创建占位符。

对于字符串来说isEmpty和""是等价的。

附一:

IsEmpty()可用断某种容器是否有元素也可用来判断ArrayList,HashSet,HashMap是否有元素等。

判断一个顺序容器ArrayList里面是否有元素,有返回false,否返回true

 ArrayList<Integer> E = new ArrayList<Integer>();
        System.out.println(E.isEmpty());//true
        E.add(5);
        System.out.println(E.isEmpty());//flase

也可用来判断HashSet或者HashMap等容器是否有元素。

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值