Java檢查StringBuilder是否包含字符串的幾種方法
在Java中,檢查StringBuilder
是否包含字符串(即非空)的最直接方法是檢查其長度(length())?。以下是詳細(xì)的判斷方法:
1. 判斷StringBuilder是否為空(無內(nèi)容)
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是否非空(有內(nèi)容)
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:轉(zhuǎn)換為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有內(nèi)容: Hello // 內(nèi)容檢查 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有內(nèi)容: " + sb); } } static void checkContent(StringBuilder sb, String search) { if (sb.indexOf(search) != -1) { System.out.println("包含'" + search + "'"); } else { System.out.println("不包含'" + search + "'"); } } }
性能建議
?避免不必要的toString()轉(zhuǎn)換?
// 錯(cuò)誤做法(創(chuàng)建臨時(shí)字符串) if (sb.toString().isEmpty()) { ... } // 正確做法(直接檢查長度) if (sb.length() == 0) { ... }
?**優(yōu)先使用indexOf()
替代toString().contains()
**?
當(dāng)需要檢查內(nèi)容時(shí),indexOf()
直接在內(nèi)部數(shù)組中搜索,比創(chuàng)建臨時(shí)字符串更高效。
版本說明
length() == 0
:?所有Java版本適用
isEmpty()
:僅限Java 11及更高版本?
indexOf()
:?所有Java版本適用且高效
到此這篇關(guān)于Java檢查StringBuilder是否包含字符串的幾種方法的文章就介紹到這了,更多相關(guān)StringBuilder是否包含字符串內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Spring Boot與Kotlin定時(shí)任務(wù)的示例(Scheduling Tasks)
這篇文章主要介紹了Spring Boot與Kotlin定時(shí)任務(wù)的示例(Scheduling Tasks),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-03-03Java實(shí)現(xiàn)給網(wǎng)站上傳圖片蓋章的方法
這篇文章主要介紹了Java實(shí)現(xiàn)給網(wǎng)站上傳圖片蓋章的方法,涉及java針對圖片的合成操作技巧,類似水印功能,需要的朋友可以參考下2015-07-07java實(shí)現(xiàn)異步回調(diào)返回給前端的方法示例
在Java中實(shí)現(xiàn)異步回調(diào)并將結(jié)果返回給前端,通常是在Web應(yīng)用開發(fā)中處理耗時(shí)操作時(shí)所采用的技術(shù)手段,以避免阻塞HTTP請求線程并提高用戶體驗(yàn),本文就來介紹一下如何實(shí)現(xiàn),感興趣的可以了解一下2024-03-03Springboot如何獲取配置文件application.yml中自定義的變量并使用
這篇文章主要介紹了Springboot中獲取配置文件(application.yml)中自定義的變量并使用,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-09-09