Java中的!=null和!=“”

在Java中,!= null!= "" 是用来检查不同类型变量或表达式的常见技术,它们有不同的用途和含义:

1.!= null

  • != null 用于检查一个引用类型变量是否不为 null
  • 如果变量不为 null,条件成立(返回 true)。
  • 如果变量为 null,条件不成立(返回 false)。
String str = "Hello";
if (str != null) {
    // 执行操作,确保 str 不为 null
}

        这种检查通常用于避免在空对象上调用方法或访问属性时产生空指针异常。

2.!= ""

  • != "" 用于检查一个字符串变量是否不为空字符串(长度不为0)。
  • 如果字符串不为空字符串,条件成立(返回 true)。
  • 如果字符串是空字符串,条件不成立(返回 false)。
String name = "John";
if (name != "") {
    // 执行操作,确保 name 不为空字符串
}

        在Java中,通常建议使用 .isEmpty() 方法或者 .length() == 0 来检查一个字符串是否为空字符串,因为 != "" 只是简单地检查字符串对象是否是一个空对象的引用,而不是实际的内容比较。

为什么isEmpty()方法更可靠?

  • != "" 只是检查字符串引用是否与一个空字符串引用不同,不一定表示字符串本身为空。
  • isEmpty() 直接检查字符串的长度是否为0,确保字符串实际上是空的,避免了引用对象的误判。
  • String str1 = "";   // 空字符串
    String str2 = new String("");  // 新建了一个空字符串对象
    
    // 使用 != "" 检查
    if (str1 != "") {
        System.out.println("str1 不为空");
    } else {
        System.out.println("str1 是空的");
    }
    
    if (str2 != "") {
        System.out.println("str2 不为空");
    } else {
        System.out.println("str2 是空的");
    }
    • 在这个例子中,str1 是一个空字符串常量的引用,而 str2 是一个新建的空字符串对象。
    • 使用 != "" 来检查空字符串时,str1 会认为不是空的,因为它不是空字符串常量的引用,而 str2 会正确地认为是空的,因为它是一个新的空字符串对象。

总结:

  • != null 用于检查引用类型变量是否不为 null
  • != "" 用于检查字符串变量是否不为空字符串。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值