if-else在使用的过程中语句长,并且不利于测试和维护所以我们在日常的开发中尽量不使用if-else
开发测试用例背景
根据你输入的颜色传出对应的RGB值
颜色 | RGB值 |
---|---|
red | #FF0000 |
blue | #0000FF |
white | #FFFFFF |
写一个color的实体类
@Data
public class ColorA {
private String colorCode;
private String color;
}
主类
@Test
void contextLoads() {
ColorA colorA = new ColorA();
colorA.setColor("blue");
System.out.println(colorA.getColor()+"的RGB值为:"+colorCode(colorA.getColor()));
}
如果在colorCode方法中使用if-else
/*
* 使用if-else方法判断颜色的RGB值
* */
String colorCode(String color){
String colorCode = new String();
if (color.equals("red")){
colorCode="#FF0000";
}else if (color.equals("blue")){
colorCode="#0000FF";
}else if (color.equals("white")){
colorCode="#FFFFFF";
}
return colorCode;
}
如果在colorCode方法中使用映射
/*
* 使用hashmap通过key来取对应的value值
* */
String colorCode(String color){
String colorCode = new String();
HashMap<String, String> codeMap = new HashMap<>();
codeMap.put("red","#FF0000");
codeMap.put("blue","#0000FF");
codeMap.put("whiteM","#FFFFFF");
return codeMap.get(color);
}
运行结果
结果显示,两种方法都能达到开发目的,但是使用if-else代码量比hashmap多,如果需要添加一个颜色的话,使用hashmap的方法只要使用put就可以完成添加,而if-else就比较繁琐了。