【发布时间】:2017-01-26 19:09:42
【问题描述】:
我想使用 switch 语句(而不是 else if)来测试三个案例。现在这些案例都测试变量是否是类的实例。我想做这样的事情:
switch(var){
case A: doA();
case B: doB();
case C: doC();
}
public enum{
A, B, C
}
我希望 A 代表var instanceof A 的情况。有没有办法将此信息分配给枚举中的值?
【问题讨论】:
-
但是
A已经是一个枚举。我不确定你在问什么。 -
我不确定程序如何知道案例 A 意味着
var instanceof class A -
这不是有效的 Java 代码:枚举类必须有名称。另外,变量
var的类型是什么?如果枚举名为X,即public enum X { A, B, C },并且var是X,那么您的代码是完整且有效的,尽管您可能需要添加一些break语句。 -
我认为 switch-case 和 if-then-else 语句都不应该在这里使用。如果您想根据对象
var的实际类执行不同的代码,则应该使用方法重载。
标签: java enums switch-statement