枚举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

回到顶部