![](/img/trans.png)
[英]Switch statement doesn't work in Android studio with Button
[英]Switch statement doesn't work in android project
我是Android Dev的初學者。 我剛剛在字符串上使用switch case語句遇到了這個問題:
String str = "Hello";
switch (str) {
case "Hello":
System.out.println("case 1");break;
default:
System.out.println("default");break;
}
Eclispse日志:
Cannot switch on a value of type String for source level below 1.7. Only convertible int values or enum variables are permitted Home.java
所以我要去Project properties-> Java Compiler,然后將JDK設置為1.7並應用它。 但是現在蝕使我無法修復會回到第一個問題的屬性...
Android requires compiler compliance level 5.0 or 6.0. Found '1.7' instead. Please use Android Tools > Fix Project Properties.
我如何解決它以使用我的開關盒?
謝謝
您需要在switch語句中傳遞數字值或字符值。 例如
char str = 'A';
switch (str) {
case 'A':
System.out.println("case 1");break;
default:
System.out.println("default");break;
}
是的,在Java 1.7中引入了帶有String
類的switch語句。 但是Android對不起1.6。 檢查文檔中可以使用的類型。 我不知道這種情況,但Enums
和switch語句確實很好用
在eclipse屬性中將編譯器版本降低到1.6。 Android尚不支持所有1.7。
要在開關中明確說明情況,可以使用枚舉
public enum helloEnum {
HELLO, HOLA, CIAO
}
public class EnumTest {
helloEnum mHello;
public EnumTest(helloEnum mHello) {
this.mHello = mHello;
}
public void sayHello() {
switch (mHello) {
case HELLO:
System.out.println("hello");
break;
case HOLA:
System.out.println("hola");
break;
case CIAO
System.out.println("ciao");
break;
default:
System.out.println("hello");
break;
}
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.