java判断空的方法

字符串与List判空:方法与实用工具
本文探讨如何使用Java判断字符串是否为空或仅包含空格,以及如何检查List是否为空,介绍了isEmpty(), isBlank(), isNotEmpty(), isNotBlank()方法,并推荐了lang3库的实用工具。同时提供了List判空的多种方法,涵盖了null和元素个数的检查。

字符串判空

字符串为空分为两种情况:

1)“”:表示分配了内存空间,值为空字符串,有值。
2)null:未分配内存空间,无值,值不存在。
为空的标准为:str == null 或 str.length()==0

1.判断为空:
  • isEmpty()方法,判断是否为空,是否为空字符串(在String为null时,会出现空指针错误,isEmpty()方法底层是判断长度)
  • isBlank()方法,是判断字符串是否为空,空格、制表符、tab。
public static boolean isEmpty(CharSequence cs) {
       return cs == null || cs.length() == 0;
   }

public static boolean isBlank(CharSequence cs) {
        int strLen;
        if (cs != null && (strLen = cs.length()) != 0) {
        	//判断是否为空格、制表符、tab
            for(int i = 0; i < strLen; ++i) {
                if (!Character.isWhitespace(cs.charAt(i))) {
                    return false;
                }
            }

            return true;
        } else {
            return true;
        }
    }
2.判断不为空:

isNotEmpty()、isNotBlank()
推荐使用lang3下的StringUtiles工具类中
StringUtils.isBlank()和StringUtils.isNotBlank(),它会过滤空格。

List判空

1、判断list不为空:

方法1:list != null && !list.isEmpty()
方法2:list != null && list.size() > 0

注:
list!=null:判断是否存在list,null表示这个list不指向任何的东西,如果为空时调用它的方法,那么就会出现空指针异常。
list.isEmpty():判断list里是否有元素存在
list.size():判断list里有几个元素
所以判断list里是否有元素的最佳的方法是:
if(list != null && !list.isEmpty()){
//list存在且里面有元素
}

2、判断list为空:

方法1:list == null || list.size() == 0

Java 编程中,判断对象或变量是否是一个常见的需求,尤其是在避免指针异常(NullPointerException)方面尤为重要。以下是几种常见的判断对象是否方法: ### 使用 `==` 或 `!=` 运算符 最直接的方式是使用 `==` 或 `!=` 运算符来判断对象是否为 `null`。例如: ```java Object obj = null; if (obj == null) { // 对象为 } else { // 对象不为 } ``` ### 使用 `Objects.isNull()` 方法 Java 提供了一个静态方法 `Objects.isNull()` 来判断对象是否为 `null`,这种方法可以安全地处理可能为 `null` 的参数,不会抛出指针异常。例如: ```java import java.util.Objects; Object obj = null; if (Objects.isNull(obj)) { // 对象为 } else { // 对象不为 } ``` ### 使用 `Optional` 类 从 Java 8 开始,引入了 `Optional` 类来优雅地处理可能为 `null` 的值,减少指针异常的风险。例如: ```java import java.util.Optional; Object obj = null; Optional<Object> optionalObj = Optional.ofNullable(obj); if (optionalObj.isPresent()) { // 对象不为 } else { // 对象为 } ``` ### 使用 Apache Commons Lang 库 Apache Commons Lang 提供了一些工具类来简化对象的判操作,特别是对于字符串类型的判操作更为方便。例如,使用 `StringUtils.isEmpty()` 方法可以判断字符串是否。虽然这个方法主要用于字符串,但类似的工具类也适用于其他类型[^5]。 ### 使用 `instanceof` 运算符 `instanceof` 运算符不仅可以用来检查对象的类型,还可以用来间接判断对象是否。如果对象为 `null`,则 `instanceof` 表达式的结果总是 `false`。例如: ```java Object obj = null; if (obj instanceof String) { // obj 不为,并且是 String 类型 } else { // obj 为或不是 String 类型 } ``` 以上方法可以根据具体的使用场景和个人偏好选择合适的方式来判断对象是否,从而有效地避免指针异常的发生[^4]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值