我想使用的字符串switch語句,但它給編譯錯誤。如果有人告訴我如何在switch-case語句中使用String,這對我會有所幫助。
1
A
回答
5
有一種方式,如果你真的想使用switch語句。 創建一個枚舉類,其中包括switch語句的情況下
public enum MustUseSwitch{
value1,
value2,
value3;
}
然後用枚舉切換到報表。
switch(MustUseSwitch.valueOf(stringVariable)){
case value1:
System.out.println("Value1!");
break;
case value2:
System.out.println("Value2!");
break;
case value3:
System.out.println("Value3!");
break;
}
+1
那麼這顯然與使用String-> integer中的散列表相同 - 儘管是一個巧妙的技巧。 – Voo 2011-12-18 23:12:37
3
你不能。使用if/else if/else if/else。除非你使用Java7。在這個重複的問題這個答案可以解釋它遠勝於我可以:https://stackoverflow.com/a/338230/3333
0
你不能在switch
語句中使用String
,但你可以使用Enum
類型。使用Enum
比使用String
甚至public static final int MY_CONSTANT
要好得多。
你會找到一個很好的教程在這裏:Java Enum type tutorial
4
前面已經說過,你不能。有關技術細節,請參閱有關compiling switches的規格。使用Java SE 7,此功能已實施。有關使用開關String
與JDK 7的示例,請參閱this page。
也許this question也可能有幫助。
2
不能直接使用字符串,但你可以做出關鍵字符串數組,快速搜索它,打開索引,就像這樣:
String[] sortedKeys = new String[] {"alpha", "bravo", "delta", "zebra"};
int keyIndex = Arrays.binarySearch(sortedKeys, switchKey);
switch(keyIndex) {
case 0: // alpha
break;
case 1: // bravo
break;
case 2: // delta
break;
case 3: // zebra
break;
}
相關問題
- 1. 在Switch語句中使用String?
- 2. switch語句中的switch語句?
- 3. 作爲switch語句實現的菜單
- 4. Switch語句如何工作
- 5. SWITCH語句不工作 - Java
- 6. switch語句不工作
- 7. Switch語句VS If語句
- 8. switch語句比
- 9. jQuery switch語句(?)
- 10. 從switch語句
- 11. Javascript switch語句?
- 12. PHP switch()語句
- 13. switch語句8
- 14. 在switch語句
- 15. 2 switch語句
- 16. 在switch語句
- 17. switch語句
- 18. PHP switch語句
- 19. Switch語句Android
- 20. switch語句
- 21. PowerShell Switch語句
- 22. Golang switch語句
- 23. JavaScript switch語句
- 24. switch語句
- 25. SQL switch語句
- 26. switch語句
- 27. struts2 switch語句
- 28. 在switch語句
- 29. switch語句javascript
- 30. c switch語句
字符串不能在Java中的switch語句中使用。 – mowwwalker 2011-12-18 22:40:10
@Walkerneo自Java7以來並非如此。這也是建議的修復:使用最新版本。 – Voo 2011-12-18 22:42:30