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

java14 使用增強的模式匹配切換表達式

這篇具有很好參考價值的文章主要介紹了java14 使用增強的模式匹配切換表達式。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

野曠天低樹,江清月近人。——唐代杜甫《月夜憶舍弟》

使用增強的模式匹配切換表達式(Switch Expressions with Enhanced Pattern Matching)

Java 14中引入的“Switch Expressions with Enhanced Pattern Matching”這個功能。

這個功能可以讓我們在使用switch case語句時,同時進行類型檢查和類型轉換,從而簡化代碼。在之前的Java版本中,我們通常需要使用if-else語句或類型轉換操作符來進行類型檢查和類型轉換。而在Java 14中,我們可以使用模式匹配(pattern matching)來進行這些操作,使得代碼更加簡潔和易讀。

在使用switch case標簽進行模式匹配時,我們需要使用模式變量來進行類型檢查和類型轉換。這個模式變量可以包含類型、常量和其他變量,以及與和或操作符。以下是一個使用模式匹配的示例代碼:

Object obj = "Hello, World!";
if (obj instanceof String str && str.length() > 0) {
    int result = switch (str.charAt(0)) {
        case 'H', 'h' -> 1;
        case 'W', 'w' -> 2;
        case '!' -> 3;
        default -> 0;
    };
    System.out.println("Result: " + result);
}

在這個示例中,我們首先使用instanceof運算符進行類型檢查,并將變量obj轉換為字符串類型。然后,在switch表達式中,我們使用了模式匹配來檢查字符串的第一個字符,并將其轉換為int類型的結果。在case標簽中,我們可以同時使用多個模式,從而簡化代碼并提高可讀性。

需要注意的是,在進行模式匹配時,我們必須使用模式變量來進行類型檢查和類型轉換,否則會出現(xiàn)編譯錯誤。另外,需要確保使用的Java版本支持“Switch Expressions with Enhanced Pattern Matching”這個功能。

總之,“Switch Expressions with Enhanced Pattern Matching”這個功能可以讓我們更加方便地進行類型檢查和類型轉換,從而簡化代碼,提高代碼的可讀性和可維護性。

模式變量(pattern variable)

在Java 14中,模式變量被引入以增強模式匹配的功能,從而簡化代碼并提高可讀性。當我們在if語句中使用instanceof運算符進行類型檢查時,可以使用模式變量來同時進行類型轉換,并且在if語句的作用域內(nèi),我們可以直接使用這個變量進行類型相關的操作。

以下是一個使用模式變量的示例代碼:

Object obj = "Hello, World!";
if (obj instanceof String str && str.length() > 0) {
    System.out.println("The length of the string is " + str.length());
}

在這個示例中,我們首先使用instanceof運算符進行類型檢查,并將變量obj轉換為字符串類型。同時,我們在if語句的條件中使用了模式變量str,表示這個變量是一個字符串類型的變量,并將變量obj轉換為了這個類型。在if語句的作用域內(nèi),我們可以直接使用這個變量來調(diào)用字符串類型的方法length(),從而獲取字符串的長度。

需要注意的是,模式變量只能在if語句的條件中定義,并且不能重新賦值。同時,模式變量的作用域只限于if語句的作用域內(nèi)。如果需要在其他作用域內(nèi)使用這個變量,可以將其賦值給一個其他的變量。

總之,模式變量是Java 14中引入的一個新的功能,可以讓我們更加方便地進行類型檢查和類型轉換,并且可以直接在if語句的作用域內(nèi)使用相關的類型操作,從而簡化代碼,提高可讀性和可維護性。

Switch Expressions with Enhanced Pattern Matching底層也是利用模式變量

Switch Expressions with Enhanced Pattern Matching底層也是利用模式變量實現(xiàn)的。在Switch Expressions with Enhanced Pattern Matching中,我們可以使用模式變量來進行類型檢查和類型轉換,并且可以在switch case標簽中定義多個模式。

以下是一個使用模式變量的Switch Expressions with Enhanced Pattern Matching示例代碼:

Object obj = "Hello, World!";
String result = switch (obj) {
    case String str && str.length() > 0 -> {
        yield "The string has length " + str.length();
    }
    case Integer i -> {
        yield "The object is an integer with value " + i;
    }
    default -> {
        yield "The object is of unknown type";
    }
};
System.out.println(result);

在這個示例中,我們首先定義了一個Object類型的變量obj,并在switch表達式中對這個變量進行模式匹配。在第一個case標簽中,我們使用模式變量str來進行類型檢查和類型轉換,并檢查字符串的長度。如果滿足條件,我們使用yield返回一個字符串結果。在第二個case標簽中,我們使用模式變量i來進行類型檢查和類型轉換,并返回一個字符串結果。在default標簽中,我們返回一個未知類型的字符串結果。

需要注意的是,Switch Expressions with Enhanced Pattern Matching只能在Java 14及以上版本中使用,因為它是在Java 14中引入的一個新的功能。同時,模式變量的作用域只限于switch表達式的作用域內(nèi)。

總之,Switch Expressions with Enhanced Pattern Matching底層也是利用模式變量實現(xiàn)的,它可以讓我們更加方便地進行類型檢查和類型轉換,并且可以在switch case標簽中定義多個模式,從而簡化代碼,提高可讀性和可維護性。文章來源地址http://www.zghlxwxcb.cn/news/detail-401306.html

到了這里,關于java14 使用增強的模式匹配切換表達式的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

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

領支付寶紅包贊助服務器費用

相關文章

  • Java 正則表達式匹配

    正則表達式: 定義一個搜索模式的字符串。 正則表達式可以用于搜索、編輯和操作文本。 正則對文本的分析或修改過程為:首先正則表達式應用的是文本字符串(text/string),它會以定義的模式從左到右匹配文本,每個源字符只匹配一次。 正則表達式 匹配 this is text 精確匹配

    2024年02月06日
    瀏覽(29)
  • 【23JavaScript 正則表達式】深入解析JavaScript正則表達式:基礎概念、常用方法和實例詳解,輕松掌握強大的文本模式匹配工具

    正則表達式是一種強大的文本模式匹配工具,用于在字符串中搜索和操作特定的文本模式。在JavaScript中,正則表達式提供了一種靈活的方式來處理字符串操作。 在JavaScript中,可以通過使用字面量表示法或RegExp對象來創(chuàng)建正則表達式。 字面量表示法 RegExp對象 JavaScript中的正則

    2024年02月08日
    瀏覽(27)
  • Java正則表達式匹配aabb、abab格式字符

    Java正則表達式匹配aabb、abab格式字符

    我們開發(fā)過程中,經(jīng)常用到正則表達式來匹配想要的字符串,或者從一段文本中提取想要的,比如爬蟲應用等。正則表達式是對字符串提取的一套規(guī)則,我們把這個規(guī)則用正則里面的特定語法表達出來,去匹配滿足這個規(guī)則的字符串。正則表達式具有通用型,不僅jav

    2023年04月22日
    瀏覽(25)
  • Java_正則表達式_14

    正則表達式的作用: 是一些特殊字符組成的校驗規(guī)則,可以校驗信息的正確性,校驗郵箱是否合法,電話號碼,金額等。 需求:演示不用正則表達式和用正則表達式校驗QQ號碼。 小結: 正則表達式很適合做校驗,代碼簡單,優(yōu)雅! 字符類 [abc] a、b 或 c(簡單類) [^abc] 任何

    2024年02月11日
    瀏覽(13)
  • Java 基礎進階篇(十八):正則表達式匹配規(guī)則和應用

    Java 基礎進階篇(十八):正則表達式匹配規(guī)則和應用

    ??正則表達式是對字符串(包括普通字符(例如:a 到 z 之間的字母)和特殊字符(稱為“元字符”))操作的一種邏輯公式,就是用事先定義好的一些特定字符及這些特定字符的組合,組成一個“規(guī)則字符串”,這個“規(guī)則字符串”用來表達對字符串的一種過濾邏輯。正

    2024年02月13日
    瀏覽(36)
  • Java 正則表達式【非貪婪匹配、格式驗證、反向引用、API】

    非貪婪匹配的元字符是問號 ?? 當此字符跟在任何其他限定符(*、+、?、{n}、{m}、{n,m})之后,匹配模式是 \\\"非貪心的\\\"。非貪心的意思就是每次匹配搜索到的盡可能短的字符串, 可以是0個 。 對比貪婪匹配和非貪婪匹配 貪婪匹配 輸出結果: 非貪婪匹配 輸出結果: 對字符串

    2024年02月13日
    瀏覽(24)
  • java正則表達式匹配替換大括號變量${}和替換${}變量的值

    java正則表達式替換“$ {}”特殊字符并還原,以及java正則表達式替換${}變量為變量的值這兩種操作的代碼示例。 正則表達式還是非常有用的, 可以耐心看下定義,多嘗試下。 正則表達式(regular expression)描述了一種字符串匹配的模式,可以用來檢查一個串是否含有某種子串、將

    2024年02月02日
    瀏覽(27)
  • hive中使用正則表達式匹配數(shù)字
  • 【無標題】華為OD機試 - 表達式括號匹配(Java & JS & Python & C & C++)

    哈嘍,本題庫完全免費,收費是為了防止被爬,大家訂閱專欄后可以私信聯(lián)系退款。感謝支持 (1+(2+3)*(3+(8+0))+1-2)這是一個簡單的數(shù)學表達式,今天不是計算它的值,而是比較它的括號匹配是否正確。 前面這個式子可以簡化為(()(()))這樣的括號我們認為它是匹配正確的, 而((()

    2024年04月09日
    瀏覽(26)
  • 【算法】使用棧解決一系列算法題(匹配、表達式、模擬)(C++)

    【算法】使用棧解決一系列算法題(匹配、表達式、模擬)(C++)

    棧適合解決需要 后進先出(LIFO) 的結構的算法題,例如: 括號匹配問題 :判斷給定字符串中括號是否匹配。 表達式求值問題 :將表達式轉換為后綴表達式,并計算其值。 逆波蘭表達式問題 :將表達式轉換為逆波蘭表達式,并計算其值。 直方圖最大矩形面積問題 :給定

    2024年01月16日
    瀏覽(19)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領取紅包

二維碼2

領紅包