枚举enum降低代码的耦合度
1.根据某个条件判断是否可以进入某个条件这种相关情况,可以用enum 降低耦合度
如一年四季穿不同的衣服,数字1,2,3,4 分别代表不同的季节
import lombok.Getter;
public enum SeasionEnum {
ONE(1,"春天","毛衣"),
TWO(2,"夏天","半袖"),
THREE(3,"秋天","风衣"),
FOUR(4,"冬天","羽绒服");
@Getter private String seasionName; // 季节名称
@Getter private String clothes; // 衣服
@Getter private Integer reCode; // 编号
SeasionEnum(Integer reCode,String seasionName,String clothes){
this.reCode = reCode;
this.seasionName = seasionName;
this.clothes = clothes;
}
public static SeasionEnum forEach_seasionEnum(int index){
SeasionEnum[] myArray = SeasionEnum.values();
for(SeasionEnum sea : myArray){
if(index == sea.getReCode() ){
return sea;
}
}
return null; // 默认返回
}
}
具体测试列子
普通方法:
/**
* 普通方法,只是适用 特定场合
*@Title:test
*@Description:TODO
* @Param:
*@return :void
*@throws
*/
@Test
public void test(){
for(int i =1 ;i<=4;i++){
if(i ==1){
System.out.println("春天 穿毛衣");
}else if(i == 2){
System.out.println("夏天 穿半袖");
}else if(i == 3){
System.out.println("秋天 穿风衣");
}else if(i == 4){
System.out.println("冬天 穿羽绒服");
}
}
}
2.升级方法
/**
* 通过Enum 适应性强,耦合度降低
*@Title:testEnum
*@Description:TODO
* @Param:
*@return :void
*@throws
*/
@Test
public void testEnum(){
for(int i = 1;i<=4;i++){
SeasionEnum sea = SeasionEnum.forEach_seasionEnum(i);
System.out.println(sea.getSeasionName()+" "+sea.getClothes());
}
}
升级的方法,更能适应多种场景,假如有一天需求变成不同农历24节气穿不同的衣服,我们只需要扩展enum 就可以了,这样达到一处
修改,处处生效。
以上是 枚举enum降低代码的耦合度 的全部内容, 来源链接: utcz.com/z/519006.html