1. 程式人生 > >Java switch 語句使用 String 引數

Java switch 語句使用 String 引數

當我嘗試在 switch 語句使用 String 引數時(注意ctrType為字串)

    switch (ctrType) {
    case "01" : 
        exceptionType = "讀FC引數資料";
        break;
    case "03" :
        exceptionType = "讀FC儲存的當前表計資料";
        break;
    default:
        exceptionType = "未知控制碼:"+ctrType;
    }


提示如下錯誤:

Cannot switch on a value of type String for source level below 1.7. Only convertible int values or enum variables are permitted

意思是說,我的 jre 本版本太低,不支援。據查 在 Java 7之前,switch 只能支援 byte、short、char、int或者其對應的封裝類以及 Enum 型別。在 Java 7中,String支援也終於被加上了。

解決

普通專案

安裝 JDK 1.7+,在專案中更改配置引入該 JDK 版本依賴庫。

Maven 專案

更改 pom.xml 檔案,設定 maven-compiler-plugin 外掛目標版本為 1.7+,例如

  <plugins>
  ...
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.2</version>
            <configuration>
                <source>1.7</source>
                <target>1.7</target>
            </configuration>
        </plugin>
  ...
    </plugins>

相關推薦

Java switch 語句使用 String 引數

當我嘗試在 switch 語句使用 String 引數時(注意ctrType為字串) switch (ctrType) { case "01" : exceptionType = "讀FC引數資料"; br

Java switch語句

Java Switch語句 語法 流程執行圖 語法 switch(expression){ case value1: //code to be executed; break; /

java switch 語句的那些坑

1.首先判斷是否有匹配的case如果有執行匹配的case語句,如果沒有break或者return 等語句,按順序向下執行(如果下面有default語句也執行),一直執行到switch語句大括號結     束 2.當case語句沒有匹配時,執行defult語句(無論defa

java switch語句應用舉例

 1.根據變數的值,選擇相應的case去判斷,一旦滿足case條件,就執行case的相應語句。如果沒有break或者已經 到結尾的話,會繼續執行其下的case語句。 2.default:是可選的

1.5-Java-switch語句-case穿透

1.switch語句 語句格式: switch(表示式) { case 值1: 語句1:

java基礎面試題:switch語句能否作用在byte上,能否作用在long上,能否作用在String上?

int 包裝類 println class ava col body package 面試題 package com.swift; public class Switch_Test { public static void main(String[] args

Java中的switch語句後面的控制表達式的數據類型

pop track strong size mod har java 7 span string類型 Java中的switch語句後面的控制表達式的數據類型 1、byte 2、char 3、short 4、int 5、枚舉類型 6、Java 7同

從零開始學大數據-Java基礎-switch語句(6)

大數據 Java CCIE 從零開始學大數據 我們從零開始學習大數據技術,從java基礎,到Linux技術涉獵,再深入到大數據技術的Hadoop、Spark、Storm技術,最後到大數據企業平臺的搭建,層層遞進,由點到面!希望技術大牛能過來指導學習。上一節學習了流程控制語句,本節學習switc

關於javaswitch 語句的執行順序

首先來一個正常的demo int i = 2; switch (i) { case 1: System.out.println("1"); break; case 2: System.out.println("2"); break;

switch語句與三種迴圈語句JAVA程式設計師程式設計新手入門基礎學習筆記

Java是一種可以撰寫跨平臺應用軟體的面向物件的程式設計語言。Java 技術具有卓越的通用性、高效性、平臺移植性和安全性,廣泛應用於PC、資料中心、遊戲控制檯、科學超級計算機、行動電話和網際網路,同時擁有全球最大的開發者專業社群。 自己整理了-份201 8最全面前端學習資料,從最基礎的HTML+

1119-C語言實驗——輸入數字星期,輸出英文(switch語句)-JAVA

C語言實驗——輸入數字星期,輸出英文(switch語句) Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 從鍵盤上輸

java switch..case語句

語法: switch(變數){ case 變數值1: 程式碼塊1; break; case 變數值2: 程式碼塊2; break; ... case default: 程式碼塊d; break; } swit

java switch case 語句接列舉類 實現判斷

首先定義列舉類,如: public enum DataTypeEnum {     /**小時型別值**/     HOUR("hour"),     /**小時型別值**/     DAY("day"),     /**小時型別值**/     WEEK("week")

switch語句表示式的值可是String

在JDK1.6以前的版本中,switch語句表示式的值必須是整形或字元型; 在JDK1.7版本中,switch除了整型和字元型,還可以是字串型別。 但是,他是怎麼實現的呢? 實際上,Java虛擬機器和位元組碼層次上只支援switch語句中使用與整數型別相容的型別沒有變,只是這個實現字串比

Java: switch......case.....語句

switch(expression){ case value : //語句 break; //可選 case value : //語句 break; //可選 //你可以有任意數量的case語句 default

Java流程控制的陷阱——switch語句和標籤陷阱

1、switch語句陷阱        switch語句是Java提供的一種重要的分支語句,它用於判斷某個表示式的值,根據不同的值執行不同的分支語句。需要指出的是,Java的switch語句限制很多,而且還有非常容易出錯的陷阱,使用時要非常的小心

Switchstring引數

在jdk 7 之前,switch 只能支援 byte、short、char、int 這幾個基本資料型別和其對應的封裝型別。switch後面的括號裡面只能放int型別的值,但由於byte,short,char型別,它們會 自動 轉換為int型別(精精度小的向大的轉化),所以它們

java基礎總結四(陣列、switch語句)

5.陣列執行期報錯 在使用陣列時,因為不當的操作,我們可能會通過編譯,但是在執行期間遇到一些程式報錯類似這樣編譯時不報錯,執行期報錯的錯誤叫執行時錯誤 陣列最常見的兩個執行時錯誤:空指標異常和陣列索引越界異常 5.1 空指標異常 程式語言中對空的處理與我們平常所理解的略有不同。這裡我們區分兩種空的不同 變數

java中的switch語句中break和continue的區別--------總算是弄明白了

1、先上一個例子:   package com.test; import java.util.ArrayList; import java.util.List; public class SwitchTest {         public void ss(List<Integer> l){

Java基礎】switch語句實現根據數字輸出對應星期

程式碼: import java.util.Scanner; /* * switch語句格式: * switch(表示式) { * case 值1: * 語句體1; * break; * case 值2: