Java switch 語句使用 String 參數

原文同步至 http://www.waylau.com/java-switch-use-string/java

當我嘗試在 switch 語句使用 String 參數時(注意ctrType爲字符串)apache

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

<!-- more -->maven

提示以下錯誤:插件

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

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

解決

普通項目

安裝 JDK 1.7+,在項目中更改配置引入該 JDK 版本依賴庫。字符串

Maven 項目

更改 pom.xml 文件,設置 maven-compiler-plugin 插件目標版本爲 1.7+,例如get

<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>
相關文章
相關標籤/搜索