Java switch支援String型別分析

2021-08-02 08:52:04 字數 374 閱讀 7767

jdk7以後,switch可以使用整形和列舉常量以及string型別。

整形包括整數型別和integer包裝型別。byte short  char boolean 可以隱含轉換為int型別。其對應的包裝類也可以。

string型別這個新特性是jdk7以後加上的,在編譯器層次上實現的。實現機制是將字串的比較轉為其對應雜湊值的比較。switch(str)--->switch(str.hashcode())。但是在case語句塊上,是通過string的equals方法進行比較的,因為不同的字串可能存在雜湊衝突,多個字串對應雜湊值可能一樣。

switch傳入的字串不能為null,因為null呼叫hashcode()會出現nullpointerexception。編譯時期就會出現錯誤。

java switch在沒有break時的用法

分為三種情況分析 1.當沒有break時,default 在第一位的情況 例如 switch i 當給定義i 1時,輸出的結果為 當結果為1時輸出結果為 1,2,3 當給定義i 2時,輸出的結果為 當結果為1時輸出結果為 2,3 當給定義i 3時,輸出的結果為 當結果為1時輸出結果為 3 當給定義i...

內建函式 str

str 將資料強制轉型為字串。每種資料型別都可以強制轉型為字串。str 1 1 str 1,2,3,4 1,2,3,4 str types 對於簡單的資料型別比如整型,你可以預料到 str 的正常工作,因為幾乎每種語言都有乙個將整型轉化為字串的函式。然而 str 可以作用於任何資料型別的任何物件。這...

str 內建函式

字串查詢 find,index,rfind 右查詢 lfind 左查詢 find 查詢字串是否包含某個字串,返回第一次發現的位置,找不到時返回 1 index 與find幾乎相同,但是找不到值時,返回錯誤 判斷類的函式 此函式特點一般是is開頭 isalpha 判斷是否是字母,需要注意兩點,1 此函...