Java检查StringBuilder是否包含字符串的几种方法

 更新时间:2025年06月26日 09:29:29   作者:悟能不能悟  
在Java中,检查StringBuilder是否包含字符串(即非空)的最直接方法是检查其长度,本文整理了一些判断方法,感兴趣的小伙伴可以了解一下

在Java中,检查StringBuilder是否包含字符串(即非空)的最直接方法是检查其长度(length())​。以下是详细的判断方法:

1. 判断StringBuilder是否为空(无内容)

StringBuilder sb = new StringBuilder();

// 方法1:使用length()判断
if (sb.length() == 0) {
    System.out.println("StringBuilder为空");
}

// 方法2:Java 11+ 使用isEmpty()
if (sb.isEmpty()) { // Java 11及以上版本可用
    System.out.println("StringBuilder为空");
}

2. 判断StringBuilder是否非空(有内容)

StringBuilder sb = new StringBuilder("Hello");

if (sb.length() > 0) {
    System.out.println("StringBuilder包含字符串: " + sb);
}

// 或者更直观的判断
if (!sb.isEmpty()) { // Java 11+
    System.out.println("StringBuilder非空");
}

3. 判断是否包含特定字符串

StringBuilder sb = new StringBuilder("Hello World");

// 方法1:转换为String后判断(消耗资源)
if (sb.toString().contains("World")) {
    System.out.println("包含'World'");
}

// 方法2:使用indexOf()高效判断(推荐)
if (sb.indexOf("World") != -1) {
    System.out.println("包含'World'");
}

4. 完整示例代码

public class StringBuilderCheck {
    public static void main(String[] args) {
        // 空StringBuilder判断
        StringBuilder sb1 = new StringBuilder();
        checkEmpty(sb1); // 输出: StringBuilder为空
        
        // 非空StringBuilder判断
        StringBuilder sb2 = new StringBuilder("Hello");
        checkEmpty(sb2); // 输出: StringBuilder有内容: Hello
        
        // 内容检查
        checkContent(sb2, "Hi");   // 输出: 不包含'Hi'
        checkContent(sb2, "ell");  // 输出: 包含'ell'
    }
    
    static void checkEmpty(StringBuilder sb) {
        if (sb.length() == 0) {
            System.out.println("StringBuilder为空");
        } else {
            System.out.println("StringBuilder有内容: " + sb);
        }
    }
    
    static void checkContent(StringBuilder sb, String search) {
        if (sb.indexOf(search) != -1) {
            System.out.println("包含'" + search + "'");
        } else {
            System.out.println("不包含'" + search + "'");
        }
    }
}

性能建议

避免不必要的toString()转换

// 错误做法(创建临时字符串)
if (sb.toString().isEmpty()) { ... }

// 正确做法(直接检查长度)
if (sb.length() == 0) { ... }

​**优先使用indexOf()替代toString().contains()**​

当需要检查内容时,indexOf()直接在内部数组中搜索,比创建临时字符串更高效。

版本说明

length() == 0:​所有Java版本适用

isEmpty():仅限Java 11及更高版本

indexOf():​所有Java版本适用且高效

到此这篇关于Java检查StringBuilder是否包含字符串的几种方法的文章就介绍到这了,更多相关StringBuilder是否包含字符串内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Spring系列之事物管理

    Spring系列之事物管理

    这篇文章主要介绍了Spring系列之事物管理,文中通过示例代码介绍的非常详细,对大家学习或者使用spring方面知识具有一定的参考学习价值,需要的朋友们一起学习学习吧
    2021-09-09
  • Spring Boot与Kotlin定时任务的示例(Scheduling Tasks)

    Spring Boot与Kotlin定时任务的示例(Scheduling Tasks)

    这篇文章主要介绍了Spring Boot与Kotlin定时任务的示例(Scheduling Tasks),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-03-03
  • JNDI,JTA和JMS简介

    JNDI,JTA和JMS简介

    这篇文章主要介绍了JNDI,JTA和JMS的相关内容,包括中文释义,概念解释等,需要的朋友可以了解下。
    2017-09-09
  • Java Stream的distinct去重原理分析

    Java Stream的distinct去重原理分析

    Java stream中的distinct方法用于去除流中的重复元素,它返回一个包含过滤后唯一元素的新流,该方法会根据元素的hashcode和equals方法来判断是否为重复元素,本文给大家详细分析了Java Stream的distinct去重原理,需要的朋友可以参考下
    2025-06-06
  • 将Java对象序列化成JSON和XML格式的实例

    将Java对象序列化成JSON和XML格式的实例

    下面小编就为大家分享一篇将Java对象序列化成JSON和XML格式的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2017-12-12
  • Java实现给网站上传图片盖章的方法

    Java实现给网站上传图片盖章的方法

    这篇文章主要介绍了Java实现给网站上传图片盖章的方法,涉及java针对图片的合成操作技巧,类似水印功能,需要的朋友可以参考下
    2015-07-07
  • 自己写的简易版Java日志类分享

    自己写的简易版Java日志类分享

    这篇文章主要介绍了自己写的简易版Java日志类分享,本文直接给出实现代码,需要的朋友可以参考下
    2015-06-06
  • Spring boot外部配置(配置中心化)详解

    Spring boot外部配置(配置中心化)详解

    这篇文章主要给大家介绍了关于Spring boot外部配置(配置中心化)的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2017-12-12
  • java实现异步回调返回给前端的方法示例

    java实现异步回调返回给前端的方法示例

    在Java中实现异步回调并将结果返回给前端,通常是在Web应用开发中处理耗时操作时所采用的技术手段,以避免阻塞HTTP请求线程并提高用户体验,本文就来介绍一下如何实现,感兴趣的可以了解一下
    2024-03-03
  • Springboot如何获取配置文件application.yml中自定义的变量并使用

    Springboot如何获取配置文件application.yml中自定义的变量并使用

    这篇文章主要介绍了Springboot中获取配置文件(application.yml)中自定义的变量并使用,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-09-09

最新评论