public class TestingGen {
/**
* @param args
*/
public enum Types {
TYPE1("TYPE1"), TYPE2("TYPE2");
private String type;
private Types(String type) {
this.type = type;
}
public String getType() {
return type;
}
}
public static void main(String[] args) {
String value = null;
switch (value) {
case Types.TYPE1.getType():
System.out.println("here");
break;
case Types.TYPE2.getType():
System.out.println("there");
default:
System.out.println("default");
}
}
}
它在两个case语句上都显示错误“case表达式必须是常量表达式”。
那么我如何在swtich语句中使用字符串枚举呢?
反过来。获取字符串类型的枚举值enumValue=types.valueof(stringValue)
并打开枚举值开关(enumValue){case type1:[...]
。
我想我还没有在Java中得到的概念。 我尝试将字符串与枚举中的特殊字符相比较。 但话说回来: 我收到一个编译器错误: 我做错了什么?
问题内容: 我正在用Java制作轮盘赌(我自己的版本),而玩家可以打赌的类型之一就是选择将要滚动的颜色。(偶数是黑色,奇数是红色)。有没有一种方法可以使用switch语句将字符串与枚举进行比较? 这就是我想要得到的,但这并不是让我在switch语句中使用枚举“颜色”。 问题答案: 您必须具有要在其上进行切换的枚举类型的实例(其 成员 )。您正在尝试打开Enum类本身,这是没有意义的构造。所以你可能
这有可能实现吗?谢谢
本文向大家介绍如何在C#中的switch语句中使用字符串,包括了如何在C#中的switch语句中使用字符串的使用技巧和注意事项,需要的朋友参考一下 switch语句允许针对值列表测试变量是否相等。每个值称为大小写,并针对每个开关大小写检查打开的变量。 示例 这是在switch语句中使用字符串的示例- 输出结果 这将产生以下输出-
本文向大家介绍Java语言中枚举能使用switch语句吗?,包括了Java语言中枚举能使用switch语句吗?的使用技巧和注意事项,需要的朋友参考一下 Java中的枚举(enum)是一种存储一组常量值的数据类型。您可以使用枚举来存储固定值,例如一周中的天,一年中的月等。 您还可以使用自定义值定义一个枚举来声明常量。但是您需要一个实例变量,一个构造函数和一个getter方法来返回值。 与switch
我有两种枚举类型(并希望用户能够添加自己的)。 如果我不在接受枚举类型的方法中使用枚举属性,这就很好。 但是,如果我希望模板E被识别为一个枚举(在这里的开关中使用),我会得到错误“不能打开类型E的值”(在Eclipse中,开关(E)中的“E”带有红色下划线) 我对擦除有一点了解,它在编译时擦除了关于模板的所有信息,所以这就是问题所在。但是我尝试传入clazz类或者实现一个接口都没有成功。对此有什么