java中判斷String類型為空和null的幾種方法
在Java中,判斷一個(gè)字符串是否為空或者為 null 是一個(gè)常見的操作。以下是幾種常見的方法來實(shí)現(xiàn)這個(gè)判斷:
1. 使用 == 和 isEmpty()
這是最基礎(chǔ)的方式,用來判斷字符串是否為 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 類,它提供了更加簡潔的方法。
首先,需要在你的項(xiàng)目中添加依賴(如果使用Maven):
<dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>3.12.0</version> <!-- 請根據(jù)需要選擇版本 --> </dependency>
然后,可以使用如下方法:
import org.apache.commons.lang3.StringUtils; String str = ...; if (StringUtils.isEmpty(str)) { // 字符串為 null 或空字符串 }
4. 使用 Java 11 的 isBlank()
Java 11 引入了 String 類的新方法 isBlank(),它不僅檢查字符串是否為空,還會(huì)檢查字符串是否只包含空白字符(如空格、制表符等)。
String str = ...; if (str == null || str.isBlank()) { // 字符串為 null、空字符串或僅包含空白字符 }
5. 使用 Objects 類的 requireNonNullElse 方法
在需要提供默認(rèn)值的情況下,可以使用 Objects 類的 requireNonNullElse 方法,它可以在字符串為 null 時(shí)提供一個(gè)默認(rèn)值。
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)"); } } }
到此這篇關(guān)于java中判斷String類型為空和null的幾種方法的文章就介紹到這了,更多相關(guān)java String類型為空和null內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java實(shí)現(xiàn)SSL雙向認(rèn)證的方法
這篇文章主要介紹了Java實(shí)現(xiàn)SSL雙向認(rèn)證的方法,實(shí)例分析了ssl認(rèn)證的原理與相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2016-08-08java中request對象各種方法的使用實(shí)例分析
這篇文章主要介紹了java中request對象各種方法的使用,結(jié)合完整實(shí)例形式較為詳細(xì)的分析了request對象的功能及其常用方法的使用技巧,需要的朋友可以參考下2015-12-12SpringBoot與Quartz集成實(shí)現(xiàn)分布式定時(shí)任務(wù)集群的代碼實(shí)例
今天小編就為大家分享一篇關(guān)于SpringBoot與Quartz集成實(shí)現(xiàn)分布式定時(shí)任務(wù)集群的代碼實(shí)例,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2019-03-03Spring?Cloud?Gateway動(dòng)態(tài)路由Apollo實(shí)現(xiàn)詳解
這篇文章主要為大家介紹了Spring?Cloud?Gateway動(dòng)態(tài)路由通過Apollo實(shí)現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-10-10Mybatis插件擴(kuò)展及與Spring整合原理分析
這篇文章主要介紹了Mybatis插件擴(kuò)展及與Spring整合原理,本文通過實(shí)例文字相結(jié)合給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-07-07