国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Java empty、null、blank 還傻傻分不清楚?

這篇具有很好參考價值的文章主要介紹了Java empty、null、blank 還傻傻分不清楚?。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

寫代碼時候經(jīng)常遇到判empty、null和blank的情況。這些概念看起來很相似,但是它們有著不同的含義和用法。本文將介紹這三個概念的區(qū)別,并分析具體場景該如何做判斷。

empty

empty是指一個字符串長度為0/Java集合對象不存在元素,可以使用isempty()方法來判斷一個字符串是否為空。

也可以使用isEmpty()方法來判斷Java集合元素否為空。

例如:

String str = "";
if (str.isEmpty()) {
    System.out.println("This string is empty");
}

上述代碼會輸出"This string is empty",因為變量str是一個空字符串。

此外,還有一個常見的錯誤就是認(rèn)為一個字符串包含空格或多個空格就是empty,這是不正確的。例如:

String str = "  ";
if (str.isEmpty()) {
    System.out.println("This string is empty");
}

上述代碼不會輸出任何內(nèi)容,因為變量str并不是一個空字符串,而是包含兩個空格的字符串。

null

null表示一個對象不存在。如果一個引用變量沒有被初始化或被顯式賦值為null,那么這個變量的值就是null。例如:

String str = null;
if (str == null) {
    System.out.println("This string is null");
}

上述代碼會輸出"This string is null",因為變量str的值為null。

需要注意的是,對于基本數(shù)據(jù)類型(如int、double等),它們不能被賦值為null。如果試圖將一個基本數(shù)據(jù)類型賦值為null,會出現(xiàn)編譯錯誤。

blank

blank是指一個字符串長度大于0但是只包含空格(包括制表符和換行符)的情況。Java中可以使用isblank()方法來判斷一個字符串是否為blank。例如:

String str = "  ";
if (str.isBlank()) {
    System.out.println("This string is blank");
}

上述代碼會輸出"This string is blank",因為變量str包含兩個空格,并且這是這個字符串唯一的內(nèi)容。

需要注意的是,在Java 11之前是沒有isblank()方法的。如果你正在使用早期版本的Java,應(yīng)該使用trim()方法來去掉字符串兩端的空格,并檢查結(jié)果是否為空。例如:

String str = "  ";
if (str.trim().isEmpty()) {
    System.out.println("This string is blank");
}

上述代碼也會輸出"This string is blank",因為變量str經(jīng)過trim()方法處理后變成了一個空字符串。

總結(jié)一下

empty、null和blank三個概念有著明顯的區(qū)別:

  • empty表示一個字符串長度為0,Java集合不存在元素。
  • null表示一個對象不存在;
  • blank表示一個字符串長度大于0但是只包含空格。

為了更好地理解這些概念和區(qū)別,以下是一些示例代碼。

public class StringExample {
    public static void main(String[] args) {
        String emptyStr = "";
        String nullStr = null;
        String blankStr = "  ";

        // 判斷empty字符串
        if (emptyStr.isEmpty()) {
            System.out.println("This string is empty");
        }

        // 判斷null字符串
        if (nullStr == null) {
            System.out.println("This string is null");
        }

        // 判斷blank字符串
        if (blankStr.isBlank()) {
            System.out.println("This string is blank");
        }
    }
}

上述代碼會輸出"This string is empty"和"This string is blank",因為變量emptyStr是一個空字符串,變量blankStr包含兩個空格。

Java集合如何判空

Java List判空

isEmpty() 方法是一個通用的方法,可以用于所有實現(xiàn)了 java.util.Collection 接口的類(如 List、Set 等等)。如果集合中沒有任何元素,則返回 true;否則返回 false。

List<String> list = new ArrayList<>();
System.out.println(list.isEmpty()); // 輸出 true

list.add("apple");
System.out.println(list.isEmpty()); // 輸出 false

以上代碼創(chuàng)建了一個空的 ArrayList,并使用 isEmpty() 方法檢查它是否為空。然后在列表中添加了一個元素,再次使用 isEmpty() 方法進行檢查。第一次輸出為 true,因為列表中沒有元素;第二次輸出為 false,因為列表中有一個元素。

Java Map判空

Map可以通過以下幾種方式來判斷是否為空:

1. 使用 isEmpty() 方法:Map 提供了一個 isEmpty() 方法,如果 Map 中沒有任何映射關(guān)系,則返回 true。

Map<String, String> map = new HashMap<>();
System.out.println(map.isEmpty()); // 輸出 true

map.put("key", "value");
System.out.println(map.isEmpty()); // 輸出 false

2. 判斷 Map 的大?。菏褂?size() 方法獲取 Map 中鍵值對的數(shù)量,如果為 0,則說明 Map 為空。

Map<String, String> map = new HashMap<>();
System.out.println(map.size() == 0); // 輸出 true

map.put("key", "value");
System.out.println(map.size() == 0); // 輸出 false

3. 判斷 Map 中的鍵集合是否為空:使用 keySet() 方法獲取 Map 中所有鍵的集合,然后判斷集合是否為空。

Map<String, String> map = new HashMap<>();
System.out.println(map.keySet().isEmpty()); // 輸出 true

map.put("key", "value");
System.out.println(map.keySet().isEmpty()); // 輸出 false

需要注意的是,以上三種方法都可以判斷 Map 是否為空,但建議根據(jù)實際情況選擇最適合的方法。如果只需要知道 Map 是否為空,直接使用 isEmpty() 方法;如果需要執(zhí)行其他操作(如遍歷、刪除等),則可能需要獲取 Map 的大小或鍵集合。

小伙伴們,你學(xué)廢了嗎??文章來源地址http://www.zghlxwxcb.cn/news/detail-459812.html

到了這里,關(guān)于Java empty、null、blank 還傻傻分不清楚?的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 汽車虛擬ECU和MCU硬件虛擬化,傻傻分不清楚

    汽車虛擬ECU和MCU硬件虛擬化,傻傻分不清楚

    目錄 1.概述 2.汽車虛擬ECU 3.汽車MCU虛擬化功能 4.小結(jié) 近幾年,隨著智能網(wǎng)聯(lián)汽車普及,車型的更新迭代速度進一步提升,功能開發(fā)工程師希望在能夠在硬件成型前驗證軟件功能,意味著汽車控制器的功能開發(fā)也在不斷左移。 為此業(yè)內(nèi)出現(xiàn)了對ECU進行虛擬化以加速開發(fā)的呼聲

    2024年01月25日
    瀏覽(23)
  • VR、AR、MR、CR,虛擬現(xiàn)實傻傻分不清楚

    VR、AR、MR、CR,虛擬現(xiàn)實傻傻分不清楚

    感覺不知道什么是VR就OUT了 其實除了VR之外,還有AR、MR、CR等外形類似 技術(shù)含量更高的頭戴式設(shè)備,那么問題來了,這些*R們有哪些區(qū)別? ? vr是由美國VPL公司創(chuàng)建人拉尼爾(Jaron?Lanier)在20世紀(jì)80年代初提出的。其具體內(nèi)涵是:綜合利用計算機圖形系統(tǒng)和各種現(xiàn)實及控制等接口

    2024年02月08日
    瀏覽(23)
  • 數(shù)據(jù)中臺、數(shù)據(jù)平臺、數(shù)據(jù)湖、數(shù)據(jù)倉庫傻傻分不清楚?帶你一文理清

    隨著數(shù)字經(jīng)濟蓬勃發(fā)展,數(shù)字化轉(zhuǎn)型步伐不斷加快,大數(shù)據(jù)技術(shù)的不斷更新與迭代,數(shù)據(jù)技術(shù)加速創(chuàng)新融合應(yīng)用,在數(shù)字化發(fā)展的不同階段,數(shù)據(jù)管理工具歷經(jīng)了從數(shù)據(jù)庫、數(shù)據(jù)倉庫、數(shù)據(jù)集市與數(shù)據(jù)湖,再到大數(shù)據(jù)平臺與如今的數(shù)據(jù)中臺的發(fā)展歷程。大數(shù)據(jù)平臺、數(shù)據(jù)湖、

    2024年04月26日
    瀏覽(25)
  • 【Mysql 存儲過程 Or 存儲函數(shù) 傻傻分不清? 】

    【Mysql 存儲過程 Or 存儲函數(shù) 傻傻分不清? 】

    MySQL的存儲函數(shù)(自定義函數(shù))和存儲過程都是用于存儲SQL語句的。但是什么時候用什么呢?是不是總是傻傻的分不清? 本文來詳細(xì)的講一下存儲函數(shù) 和存儲過程 ,以后再也不會迷糊。 MySQL的存儲過程和函數(shù)都是一系列SQL語句的集合,調(diào)用時一次性執(zhí)行這些SQL語句。但是它

    2024年02月09日
    瀏覽(21)
  • 迷不迷糊?前后端、三層架構(gòu)和MVC傻傻分不清

    迷不迷糊?前后端、三層架構(gòu)和MVC傻傻分不清

    現(xiàn)在的項目都講究前后端分離,那到底什么是前后端,前后端和以前的MVC以及三層架構(gòu)啥關(guān)系呢?今天就這個問題展開一下,方面后面的學(xué)習(xí),因為前面講的jsp、servlet和javabean根據(jù)實例,基本上有一個框架的理解了,誰處理什么業(yè)務(wù)也大概清楚了,而且也提到了MVC這個東西,

    2024年03月08日
    瀏覽(101)
  • SAS硬盤和SATA硬盤傻傻分不清?不懂的看這里

    SAS硬盤和SATA硬盤傻傻分不清?不懂的看這里

    一、SAS SSD與SATA SSD的主要差異: 01 接口形態(tài)的差異 SAS(Serial Attached SCSI)即串行連接SCSI,和SATA(Serial ATA)相同,采用串行技術(shù)以獲得更高的傳輸速度。SAS 具備2對收發(fā)通道,而SATA 僅有1對收發(fā)通道, SAS的接口技術(shù)可以向下兼容SATA,但SATA不可以反向兼容SAS接口。 SAS接口的設(shè)

    2024年02月04日
    瀏覽(66)
  • VR和AR傻傻分不清,一句話給你講明白。

    VR和AR傻傻分不清,一句話給你講明白。

    不說廢話,直接說結(jié)論,虛擬現(xiàn)實(Virtual Reality,VR)和增強現(xiàn)實(Augmented Reality,AR)。如果現(xiàn)實是A,虛擬是B,那么VR=B,AR=A+B,就這簡單,不走彎彎繞,有興趣的的往下看。 虛擬現(xiàn)實(Virtual Reality,VR)和增強現(xiàn)實(Augmented Reality,AR)是兩種不同的技術(shù)和體驗,它們在現(xiàn)實

    2024年02月22日
    瀏覽(18)
  • 讓我看看,還有誰分不清楚GPT和Chat GTP

    讓我看看,還有誰分不清楚GPT和Chat GTP

    ? ? ? ? GPT(Generative Pre-trained Transformer)是由OpenAI推出的一種基于Transformer的自然語言處理模型,它是在大規(guī)模的無監(jiān)督語言預(yù)訓(xùn)練下,使用有監(jiān)督微調(diào)的方式來完成各種自然語言處理任務(wù)的。GPT的訓(xùn)練數(shù)據(jù)主要來源于互聯(lián)網(wǎng)上的大量文本,包括維基百科、新聞報道、小說等

    2024年02月11日
    瀏覽(19)
  • java.lang.IllegalArgumentException: Cannot pass null or empty values to constructor at org.springf

    java.lang.IllegalArgumentException: Cannot pass null or empty values to constructor at org.springf

    ? java.lang.IllegalArgumentException: Cannot pass null or empty values to constructor ?? ?at org.springframework.security.core.userdetails.User.init(User.java:113) ?? ?at org.springframework.security.core.userdetails.User$UserBuilder.build(User.java:535) ?? ?at com.example.mz.spingsecurity_jwt_deepstudy.SpingsecurityJwtDeepstudyApplicationTests.tes

    2024年02月04日
    瀏覽(22)
  • Django的數(shù)據(jù)庫操作模型的字段參數(shù)blank和null有什么區(qū)別?什么叫表單驗證?

    在Django的數(shù)據(jù)庫操作模型中,字段參數(shù) blank 和 null 用于定義模型字段的驗證規(guī)則和數(shù)據(jù)庫約束。它們的區(qū)別如下: blank :這個參數(shù)用于驗證表單數(shù)據(jù)的有效性。當(dāng)字段的 blank 參數(shù)設(shè)置為 True 時,表明該字段可以為空值或者不填寫任何內(nèi)容,不會觸發(fā)驗證錯誤。換句話說,

    2024年02月11日
    瀏覽(23)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包