您的位置:首页 > 健康 > 美食 > 兰州网站建设与优化_标准的网络推广计划书的目录_网络营销的概念和特点_如何建立网站平台

兰州网站建设与优化_标准的网络推广计划书的目录_网络营销的概念和特点_如何建立网站平台

2025/2/26 6:12:42 来源:https://blog.csdn.net/weixin_55666891/article/details/144768935  浏览:    关键词:兰州网站建设与优化_标准的网络推广计划书的目录_网络营销的概念和特点_如何建立网站平台
兰州网站建设与优化_标准的网络推广计划书的目录_网络营销的概念和特点_如何建立网站平台

使用场景

在一个条件语句中又包含了多个条件语句

具体策略类会过多

把抽象策略和具体策略放在一个枚举类里。

方法 exe() 相当于抽象策略,而A和B就相当于实现了抽象策略的具体策略
这样就只需要一个枚举类就可以解决具体策略类过多的问题

public enum Strategy {A{@Overridepublic void exe() {System.out.println("执行具体策略A");}},B{@Overridepublic  void exe() {System.out.println("执行具体策略B");}};public abstract void exe();}

彻底消除if else

Map<条件,具体策略>

完整代码

public enum Strategy {A{@Overridepublic void exe() {System.out.println("执行具体策略A");}},B{@Overridepublic  void exe() {System.out.println("执行具体策略B");}};public abstract void exe();}
public class Test {public static void main(String[] args) {Map<String, Strategy> map=new LinkedHashMap<>();map.put("A",Strategy.A);map.put("B",Strategy.B);String str="A";map.get(str).exe();}}

版权声明:

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

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