打字猴:1.700446279e+09
1700446279
1700446280 由于Enum类定义的方法基本上都是final类型的,所以不希望被覆写,那我们可以学习String和List,通过增加一个contains方法来判断是否包含指定的枚举项,然后再继续转换,代码如下:
1700446281
1700446282 enum Season{
1700446283
1700446284 Spring, Summer, Autumn, Winter;
1700446285
1700446286 //是否包含指定名称的枚举项
1700446287
1700446288 public static boolean contains(String name){
1700446289
1700446290 //所有的枚举值
1700446291
1700446292 Season[]season=values();
1700446293
1700446294 //遍历查找
1700446295
1700446296 for(Season s:season){
1700446297
1700446298 if(s.name().equals(name)){
1700446299
1700446300 return true;
1700446301
1700446302 }
1700446303
1700446304 }
1700446305
1700446306 return false;
1700446307
1700446308 }
1700446309
1700446310 }
1700446311
1700446312 Season枚举具备了静态方法contains后,就可以在valueOf前判断一下是否包含指定的枚举名称了,若包含则可以通过valueOf转换为Season枚举,若不包含则不转换。
1700446313
1700446314
1700446315
1700446316
1700446317 编写高质量代码:改善Java程序的151个建议 [:1700438160]
1700446318 编写高质量代码:改善Java程序的151个建议 建议88:用枚举实现工厂方法模式更简洁
1700446319
1700446320 工厂方法模式(Factory Method Pattern)是“创建对象的接口,让子类决定实例化哪一个类,并使一个类的实例化延迟到其子类”。工厂方法模式在我们的开发工作中经常会用到。下面以汽车制造为例,看看一般的工厂方法模式是如何实现的,代码如下:
1700446321
1700446322 //抽象产品
1700446323
1700446324 interface Car{
1700446325
1700446326 };
1700446327
1700446328 //具体产品类
[ 上一页 ]  [ :1.700446279e+09 ]  [ 下一页 ]