我使用code model API生成java源文件。我有一个通过codemodel API定义的枚举,我想在交换机块中使用它。在switch语句中,枚举常量应该用作非限定的。我无法访问枚举常量的非限定名称,因为代码模型API使用枚举类名限定常量。
简而言之,我想使用codemodel API生成以下代码片段。
enum MyEnum {A,B};
MyEnum m = MyEnum.A;
switch (m){
case A:
//do something
case B:
//d0 something else
}
但是codemodel会像这样生成
enum MyEnum {A,B};
MyEnum m = MyEnum.A;
switch (m){
case MyEnum.A:
//do something
case MyEnum.B:
//d0 something else
}
感谢您的帮助。
答案 0 :(得分:0)
JExpr.ref("A")
直接引用枚举常量。