我有以下值(value)观:
public int TYP_SOMEONE = 1, TYP_SOMETWO = 2, TYP_SOMESPECIAL = 433,
TYP_SOMETHREE = 3, .., TYP_SOMENINETYNINE = 99;
整个代码中至少有 5 个方法使用了它们。
在一个地方有一个很长的 switch-case 列表,其中使用了这些值
以正确的方式分配String
:
switch ( iTyp ){
case 1:
assignedString = "one";
break
case 2:
assignedString = "two";
break;
}
我想缩短代码。有什么好的方法可以做到这一点?我想过 枚举,但我想知道如何实现,因为改变每个元素都是一项漫长的任务 使用 TYP_xxx 变量类型并添加括号等的类 于...
最佳答案
如果这些整数常量的范围不是太大,并且是连续的,则可以使用数组将整数映射到匹配的字符串。否则,您可以使用 HashMap 进行映射。
例如:
String[] assignments = new String[500];
assignments[1] = "one";
assignments[2] = "two";
...
assignedString = assignments[iTyp];
或者使用 map :
Map<Integer,String> assignments = new HashMap<Integer,String>();
assignments.put (1, "one");
assignments.put (2, "two");
....
assignedString = assignments.get(iTyp);
关于java - 整数列表 -> 长 switch/case - 更好的可读性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26787572/