簡體   English   中英

語言級別 7 不支持增強的“開關”塊 - Android Studio

[英]Enhanced 'switch' blocks are not supported at language level 7 - Android Studio

我使用了一個 switch 語句,它從微調器中獲取字符串值。 現在,有很多這樣的字符串值。 它看起來像這樣:

switch (spin.getSelectedItem()) {
    case "first option", "second option", "third option":
         result = 1;
         break;
    case "fourth option", "fifth option", "sixth option":
         result = 2;
         break;
    case "seventh option", "eighth option", "ninth option";
         result = 3;
         break;
}

但是,出現一個錯誤,提示語言級別 7 不支持增強型開關塊。我嘗試在模塊設置中更改源兼容性和目標兼容性,但仍然無法正常工作。 非常感謝任何建議和幫助。

不支持的部分是這樣的:

case "first option", "second option", "third option":

它們是多值標簽,在成為標准的 Java 14 之前確實不受支持。

相反,您需要的是:

switch (spin.getSelectedItem()) {
    case "first option":
    case "second option":
    case "third option":
        result = 1;
        break;
    /** rest of the code here
}

如果您在 label 之后沒有break關鍵字,則默認情況下切換“落入”到它下面的下一個 label。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM