プロジェクト内のifelseを置き換える方法
シーン1:条件によって実行されるビジネスロジックが異なります:.
ifelseを列挙で置換し、列挙クラスの静的メソッドを使用してビジネスロジックを処理する元コード 列挙クラス置換後のコード
シーン2:ビジネスロジックが同じ条件で異なる変数を使用します.
mapを使用してifelseを変更する元コード 置換後コード map 列挙クラス
ここではifelseを2つのシーンで置き換える方法を簡単に紹介した.実はこの2つの方法はすべて通じ合っていて、私达が早く四海に放してすべて准じた真理を探し当てて、それからifelseを消灭することを望みます.
ifelseを列挙で置換し、列挙クラスの静的メソッドを使用してビジネスロジックを処理する
User user=new User();
user.setType("1");
if("0".equals(user.getType())){
System.out.println(" ");
}else if("1".equals(user.getType())){
System.out.println(" ");
}else {
System.out.println(" ");
}
User user=new User();
user.setType("1");
UserTypeEnum.getUserTypeEnumByCode(user.getType()).changeUser(user);
シーン2:ビジネスロジックが同じ条件で異なる変数を使用します.
mapを使用してifelseを変更する
User user=new User();
user.setType("1");
if("0".equals(user.getType())){
System.out.println(" ");
}else if("1".equals(user.getType())){
System.out.println(" ");
}else {
System.out.println(" ");
}
User user=new User();
user.setType("1");
System.out.println(map.get(user.getType()));
Map map=new HashMap<>();
map.put("0"," ");
map.put("1"," ");
map.put("2"," ");
public enum UserTypeEnum implements TestService {
USER_TYPE_TEACHER("0"," "){
@Override
public void changeUser(User user) {
System.out.println(" ");
System.out.println(StringUtils.isEmpty(user.toString()));
}
},
USER_TYPE_STUDENT("1"," "){
@Override
public void changeUser(User user) {
System.out.println(" ");
System.out.println(StringUtils.isEmpty(user.toString()));
}
},
USER_TYPE_PARENT("2"," "){
@Override
public void changeUser(User user) {
System.out.println(" ");
System.out.println(StringUtils.isEmpty(user.toString()));
}
};
private String code;
private String codeName;
UserTypeEnum(String code, String codeName){
this.code=code;
this.codeName=codeName;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getCodeName() {
return codeName;
}
public void setCodeName(String codeName) {
this.codeName = codeName;
}
public static UserTypeEnum getUserTypeEnumByCode(String code){
for(UserTypeEnum userTypeEnum : UserTypeEnum.values()){
if(StringUtils.equals(code, userTypeEnum.getCode())){
return userTypeEnum;
}
}
return null;
}
}
ここではifelseを2つのシーンで置き換える方法を簡単に紹介した.実はこの2つの方法はすべて通じ合っていて、私达が早く四海に放してすべて准じた真理を探し当てて、それからifelseを消灭することを望みます.