我有一个使用switch case for instanceofobject的问题:
例如:我的问题可以用Java重现:
if(this instanceof A)
doA();
else if(this instanceof B)
doB();
else if(this instanceof C)
doC():
Run Code Online (Sandbox Code Playgroud)
如何使用switch...case?
我想使用一个java switch语句,它使用class名称作为case常量.有可能吗?或者我是否必须复制类名?
由于编译器错误,以下代码不起作用:
case表达式必须是常量表达式
String tableName = "MyClass1";
...
switch (tableName) {
case MyClass1.class.getSimpleName():
return 1;
case MyClass2.class.getSimpleName():
return 2;
default:
return Integer.MAX_VALUE;
}
Run Code Online (Sandbox Code Playgroud)
以下是该问题的在线演示(openjdk 1.8.0_45):http://goo.gl/KvsR6u