java中判断String类型为空和null的几种方法

 更新时间:2024年06月07日 09:56:18   作者:Starlet33  
判断一个字符串是否为空或者为null是一个常见的操作,本文主要介绍了java中判断String类型为空和null的几种方法,具有一定的参考价值,感兴趣的可以了解一下

在Java中,判断一个字符串是否为空或者为 null 是一个常见的操作。以下是几种常见的方法来实现这个判断:

1. 使用 == 和 isEmpty()

这是最基础的方式,用来判断字符串是否为 null 或者为空字符串。

String str = ...;

if (str == null || str.isEmpty()) {
    // 字符串为 null 或空字符串
}

2. 使用 == 和 length()

另一种方式是检查字符串的长度是否为0。

String str = ...;

if (str == null || str.length() == 0) {
    // 字符串为 null 或空字符串
}

3. 使用 Apache Commons Lang

如果你使用了Apache Commons Lang库,可以使用 StringUtils 类,它提供了更加简洁的方法。

首先,需要在你的项目中添加依赖(如果使用Maven):

<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-lang3</artifactId>
    <version>3.12.0</version> <!-- 请根据需要选择版本 -->
</dependency>

然后,可以使用如下方法:

import org.apache.commons.lang3.StringUtils;

String str = ...;

if (StringUtils.isEmpty(str)) {
    // 字符串为 null 或空字符串
}

4. 使用 Java 11 的 isBlank()

Java 11 引入了 String 类的新方法 isBlank(),它不仅检查字符串是否为空,还会检查字符串是否只包含空白字符(如空格、制表符等)。

String str = ...;

if (str == null || str.isBlank()) {
    // 字符串为 null、空字符串或仅包含空白字符
}

5. 使用 Objects 类的 requireNonNullElse 方法

在需要提供默认值的情况下,可以使用 Objects 类的 requireNonNullElse 方法,它可以在字符串为 null 时提供一个默认值。

import java.util.Objects;

String str = ...;

str = Objects.requireNonNullElse(str, "");

if (str.isEmpty()) {
    // 字符串为 null 或空字符串
}

示例

import org.apache.commons.lang3.StringUtils;

public class StringTest {
    public static void main(String[] args) {
        String str1 = null;
        String str2 = "";
        String str3 = " ";

        // 方法1: 使用 == 和 isEmpty()
        if (str1 == null || str1.isEmpty()) {
            System.out.println("str1 is null or empty");
        }

        if (str2 == null || str2.isEmpty()) {
            System.out.println("str2 is null or empty");
        }

        // 方法2: 使用 == 和 length()
        if (str2 == null || str2.length() == 0) {
            System.out.println("str2 is null or empty");
        }

        // 方法3: 使用 Apache Commons Lang
        if (StringUtils.isEmpty(str2)) {
            System.out.println("str2 is null or empty (using StringUtils)");
        }

        // 方法4: 使用 Java 11 的 isBlank()
        if (str3 == null || str3.isBlank()) {
            System.out.println("str3 is null, empty or blank");
        }

        // 方法5: 使用 Objects 的 requireNonNullElse
        str1 = Objects.requireNonNullElse(str1, "");

        if (str1.isEmpty()) {
            System.out.println("str1 is null or empty (using Objects.requireNonNullElse)");
        }
    }
}

到此这篇关于java中判断String类型为空和null的几种方法的文章就介绍到这了,更多相关java String类型为空和null内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java实现SSL双向认证的方法

    Java实现SSL双向认证的方法

    这篇文章主要介绍了Java实现SSL双向认证的方法,实例分析了ssl认证的原理与相关实现技巧,需要的朋友可以参考下
    2016-08-08
  • java多线程编程之join方法的使用示例

    java多线程编程之join方法的使用示例

    join方法的功能就是使异步执行的线程变成同步执行。也就是说,当调用线程实例的start方法后,这个方法会立即返回,如果在调用start方法后后需要使用一个由这个线程计算得到的值,就必须使用join方法
    2014-01-01
  • java中request对象各种方法的使用实例分析

    java中request对象各种方法的使用实例分析

    这篇文章主要介绍了java中request对象各种方法的使用,结合完整实例形式较为详细的分析了request对象的功能及其常用方法的使用技巧,需要的朋友可以参考下
    2015-12-12
  • java  中OkHttp的使用方法及实例

    java 中OkHttp的使用方法及实例

    这篇文章主要介绍了java 中OkHttp的使用方法及实例的相关资料,需要的朋友可以参考下
    2017-06-06
  • java中List分页的几种方法介绍

    java中List分页的几种方法介绍

    大家好,本篇文章主要讲的是java中List分页的几种方法介绍,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览
    2021-12-12
  • MyBatis-plus批量插入的通用方法使用

    MyBatis-plus批量插入的通用方法使用

    mybatis-plus的IService接口默认提供saveBatch批量插入,也是唯一一个默认批量插入,在数据量不是很大的情况下可以直接使用,本文带你详细了解MyBatis-plus 批量插入的通用方法及使用方法,需要的朋友可以参考一下
    2023-04-04
  • SpringBoot与Quartz集成实现分布式定时任务集群的代码实例

    SpringBoot与Quartz集成实现分布式定时任务集群的代码实例

    今天小编就为大家分享一篇关于SpringBoot与Quartz集成实现分布式定时任务集群的代码实例,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-03-03
  • Spring Cloud Gateway动态路由Apollo实现详解

    Spring Cloud Gateway动态路由Apollo实现详解

    这篇文章主要为大家介绍了Spring Cloud Gateway动态路由通过Apollo实现示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-10-10
  • Mybatis插件扩展及与Spring整合原理分析

    Mybatis插件扩展及与Spring整合原理分析

    这篇文章主要介绍了Mybatis插件扩展及与Spring整合原理,本文通过实例文字相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-07-07
  • Jdbc连接数据库基本步骤详解

    Jdbc连接数据库基本步骤详解

    这篇文章主要为大家详细介绍了Jdbc连接数据库的基本步骤,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-10-10

最新评论