我有以下数值:
public int TYP_SOMEONE = 1, TYP_SOMETWO = 2, TYP_SOMESPECIAL = 433,
TYP_SOMETHREE = 3, .., TYP_SOMENINETYNINE = 99;
在整个代码中,它们至少用于5种方法。
在一个地方有一个很长的开关案例列表,其中使用了这些值
以正确的方式分配String
:
switch ( iTyp ){
case 1:
assignedString = "one";
break
case 2:
assignedString = "two";
break;
}
我想缩短代码。有什么好办法呢?我想过 枚举,但我不知道如何,因为每个人都需要改变一项长期任务 使用TYP_xxx类的变量类和添加括号等等 上...
答案 0 :(得分:2)
如果这些整数常量的范围不是太大,并且它是连续的,则可以使用数组将整数映射到匹配的字符串。否则,您可以使用HashMap进行映射。
例如:
String[] assignments = new String[500];
assignments[1] = "one";
assignments[2] = "two";
...
assignedString = assignments[iTyp];
或使用地图:
Map<Integer,String> assignments = new HashMap<Integer,String>();
assignments.put (1, "one");
assignments.put (2, "two");
....
assignedString = assignments.get(iTyp);