您的位置:首页 > 文旅 > 美景 > 卡盟24小时自助下单平台_全国企业年报网上申报_一键seo提交收录_现在有什么技能培训班

卡盟24小时自助下单平台_全国企业年报网上申报_一键seo提交收录_现在有什么技能培训班

2024/12/23 12:20:53 来源:https://blog.csdn.net/weixin_46455069/article/details/144652819  浏览:    关键词:卡盟24小时自助下单平台_全国企业年报网上申报_一键seo提交收录_现在有什么技能培训班
卡盟24小时自助下单平台_全国企业年报网上申报_一键seo提交收录_现在有什么技能培训班

1、策略枚举

1、策略枚举

  • 使用策略枚举消除大量使用的if else
  • 使用大量 if-else
public class IfService {public String getToDo(String day) {if ("Monday".equals(day)) {return "今天上英语课";} else if ("Tuesday".equals(day)) {return "今天上语文课";} else if ("Wednesday".equals(day)) {return "今天上数学课";} else if ("Thursday".equals(day)) {return "今天上音乐课";} else if ("sunday".equals(day)) {return "今天上编程课";} else {return null;}}public static void main(String[] args) {IfService ifService = new IfService();System.out.println(ifService.getToDo("Monday"));}
}

结果:
在这里插入图片描述

  • 使用枚举类进行优化大量if -else
public class CheckDay {public String day(DayEnum dayEnum){return  dayEnum.toDo();}}
public enum DayEnum {Monday{@Overridepublic String toDo(){return "周一";}},Tuesday{@Overridepublic String toDo(){return "周二";}},Wendsday{@Overridepublic String toDo(){return "周三";}},Thursday{@Overridepublic String toDo(){return "周四";}},Friday{@Overridepublic String toDo(){return "周五";}};public abstract String toDo();
}
    public static void main(String[] args) {CheckDay checkDay = new CheckDay();//可以传递参数选择哪个 枚举对象String monday = checkDay.day(DayEnum.valueOf("Monday"));System.out.println(monday);}
}

在这里插入图片描述

  • 另一种情况
    public String getToDo(String day) {//第一种情况
//        if ("Monday".equals(day)) {
//            return "今天上英语课";
//        } else if ("Tuesday".equals(day)) {
//            return "今天上语文课";
//        } else if ("Wednesday".equals(day)) {
//            return "今天上数学课";
//        } else if ("Thursday".equals(day)) {
//            return "今天上音乐课";
//        } else if ("sunday".equals(day)) {
//            return "今天上编程课";
//        } else {
//            return null;
//        }//第二种情况if("Monday".equals(day)||"Tuesday".equals(day)||"Wednesday".equals(day)){return "今天上英语课";}else if("Thursday".equals(day)){return null;}return null;}
public class CheckDay {public String dayNew(DayEnumNew dayEnumNew) {return dayEnumNew.toDo();}
}
public enum DayEnumNew {Monday(Type.ENGLISH, "星期一"),Tuesday(Type.ENGLISH, "星期二"),Wednesday(Type.ENGLISH, "星期三"),Thursday(Type.CHINESE, "星期四");private final Type type;private final String day;DayEnumNew(Type type, String day) {this.type = type;this.day = day;}String toDo(){return type.toDo();}/*** 内部策略枚举*/private enum Type {ENGLISH {@Overridepublic String toDo() {return "今天上英语课";}},CHINESE {@Overridepublic String toDo() {return "今天上语文课";}};public abstract String toDo();}
}
    public static void main(String[] args) {CheckDay checkDay = new CheckDay();//可以传递参数选择哪个 枚举对象
//        String monday = checkDay.day(DayEnum.valueOf("Monday"));
//        System.out.println(monday);String monday = checkDay.dayNew(DayEnumNew.valueOf("Monday"));String thursday = checkDay.dayNew(DayEnumNew.valueOf("Thursday"));String thursday1 = checkDay.dayNew(DayEnumNew.valueOf("Wednesday"));System.out.println(monday);System.out.println(thursday);System.out.println(thursday1);}

结果:

在这里插入图片描述

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com