java enum 高级_java枚举高级用法

packagecom.citi;public classEnumTest {public static voidmain(String[] args) {

forEnum();

useEnumInJava();

}/*** 循环枚举,输出ordinal属性;若枚举有内部属性,则也输出。(说的就是我定义的TYPE类型的枚举的typeName属性)*/

private static voidforEnum() {for(SimpleEnum simpleEnum : SimpleEnum.values()) {

System.out.println(simpleEnum+ " ordinal " +simpleEnum.ordinal());

}

System.out.println("------------------");for(TYPE type : TYPE.values()) {

System.out.println("type = " + type + " type.name = " + type.name() + " typeName = " + type.getTypeName() + " ordinal = " +type.ordinal());

}

System.out.println("------------------");for(TYPE2 type : TYPE2.values()) {

System.out.println("type = " + type + " type.name = " + type.name() + " ordinal = " +type.ordinal());

}

}/*** 在Java代码使用枚举*/

private static voiduseEnumInJava() {

String typeName= "f5";

TYPE type=TYPE.fromTypeName(typeName);if(TYPE.BALANCE.equals(type)) {

System.out.println("根据字符串获得的枚举类型实例跟枚举常量一致");

}else{

System.out.println("大师兄代码错误");

}

}/*** 季节枚举(不带参数的枚举常量)这个是最简单的枚举使用实例

* Ordinal 属性,对应的就是排列顺序,从0开始。*/

private enumSimpleEnum {

SPRING,

SUMMER,

AUTUMN,

WINTER

}/*** 常用类型(带参数的枚举常量,这个只是在书上不常见,实际使用还是很多的,看懂这个,使用就不是问题啦。)*/

private enumTYPE {

FIREWALL("firewall"),

SECRET("secretMac"),

BALANCE("f5");privateString typeName;

TYPE(String typeName) {this.typeName =typeName;

}/*** 根据类型的名称,返回类型的枚举实例。

*

*@paramtypeName 类型名称*/

public staticTYPE fromTypeName(String typeName) {for(TYPE type : TYPE.values()) {if(type.getTypeName().equals(typeName)) {returntype;

}

}return null;

}publicString getTypeName() {return this.typeName;

}

}private enumTYPE2 {

FIREWALL("firewall"),

SECRET("secretMac"),

BALANCE("f5");privateString typeName;

TYPE2(String typeName) {this.typeName =typeName;

}

@OverridepublicString toString() {return this.typeName;

}

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值