我想使用的字符串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