我有这个代码,我想知道是否可以做这样的事情:
switch (typeActivity) {
case 0:
Type1Activity aux=activity1;
break;
case 1:
Type2Activity aux=activity2;
break;
case 2:
Type3Activity aux=activity3;
break;
default:
break;
}
非常感谢你提前。
答案 0 :(得分:1)
假设你的类型的类似名称,它们扩展了一个类似TypeActivity的基类,或者至少应该这样做;)
然后你可以使用:
TypeActivity aux = null;
switch (typeActivity) {
case 0:
aux = activity1;//Type1Activity
break;
case 1:
aux = activity2;//Type2Activity
break;
case 2:
aux = activity3;//Type3Activity
break;
default:
break;
}
只有其他方式可以使用Object作为类Object aux = null;
我不推荐,因为看起来多态/扩展是正确的方法。
答案 1 :(得分:0)
Type1Activity aux = null;
switch (typeActivity) {
case 0:
aux=activity1;
break;
case 1:
aux=activity2;
break;
case 2:
aux=activity3;
break;
default:
break;
}
答案 2 :(得分:0)
不,你不能,在switch语句中声明的变量的范围是整个switch语句。所以你的代码应该生成一个编译错误(“已经定义了变量aux”,或类似的东西)。
此外,您永远不会使用这些变量,因此整个代码毫无意义。如果这是对实际用例的简化,您应该更详细地解释您要实现的目标。