Java 代码优化:if else 解决 PMD 复杂度 24 到 0
Java Code optimization : if else to resolve PMD complexity 24 to 0
我有已经定义大小的数组字符串,我必须遍历这个数组并用我拥有的 someObject 的字段值填充它。如果我使用 if elseif elseif 或 switch case 来执行此操作,我会变得非常复杂。请建议正确的方法来执行此操作
我建议您使用地图来保持这样的映射:
private static final Map<Integer, String> MAP_VALUES = new HashMap<Integer, String>();
private static Map<Integer, String> getMapValues(Employe employe){
if(MAP_VALUES.isEmpty()){
MAP_VALUES.put(0, employe.getEmployeeI());
MAP_VALUES.put(1, employe.getEmployeeLastName());
MAP_VALUES.put(2, employe.getEmployeeDivision());
....
}
return MAP_VALUES;
}
public String getValueForEmploye(Employe employe){
String[] value = ...;
for(int i = 0; i < value.length; i++){
value[i] = getMapValues(employe).get(i);
}
}
我有已经定义大小的数组字符串,我必须遍历这个数组并用我拥有的 someObject 的字段值填充它。如果我使用 if elseif elseif 或 switch case 来执行此操作,我会变得非常复杂。请建议正确的方法来执行此操作
我建议您使用地图来保持这样的映射:
private static final Map<Integer, String> MAP_VALUES = new HashMap<Integer, String>();
private static Map<Integer, String> getMapValues(Employe employe){
if(MAP_VALUES.isEmpty()){
MAP_VALUES.put(0, employe.getEmployeeI());
MAP_VALUES.put(1, employe.getEmployeeLastName());
MAP_VALUES.put(2, employe.getEmployeeDivision());
....
}
return MAP_VALUES;
}
public String getValueForEmploye(Employe employe){
String[] value = ...;
for(int i = 0; i < value.length; i++){
value[i] = getMapValues(employe).get(i);
}
}