enum
来源:互联网 发布:淘宝开店卖红酒 编辑:程序博客网 时间:2024/05/21 04:20
1、枚举类就是class,而且是一个不可以被继承的final类。
2、这些枚举值都是public static final的,也就是我们经常所定义的常量方式,因此枚举类中的枚举值最好全部大写。
(1) 构造器只是在构造枚举值的时候被调用。
(2) 构造器只能私有private,绝对不允许有public构造器。
枚举
package com.godinsec;public class Main { public static void main(String[] args) { SeasonEnum sping = SeasonEnum.SPRING; System.out.println(sping); System.out.println("-----------"); SeasonEnum[] sum = SeasonEnum.values(); for (SeasonEnum s : sum) { System.out.println(s); } System.out.println("-----------"); SeasonEnum ss = SeasonEnum.valueOf("WINTER"); System.out.println(ss); System.out.println("-----------"); SeasonEnum seasonEnum1 = SeasonEnum.getValue(1); SeasonEnum seasonEnum2 = SeasonEnum.getValue(5); System.out.println(seasonEnum1); System.out.println(seasonEnum2); } enum SeasonEnum { SPRING, SUMMER, AUTUMER, WINTER; public static SeasonEnum getValue(int index){ for(SeasonEnum value:values()){ if(value.ordinal() == index){ return value; } } return SPRING; } }}
输出如下
SPRING-----------SPRINGSUMMERAUTUMERWINTER-----------WINTER-----------SUMMERSPRING
枚举接口
package com.godinsec;public class Main { public static void main(String[] args) { Season1 spring = Season1.SPRING; System.out.println(spring.getSeasonName()); spring.show(); // 1.values() Season1[] seasons = Season1.values(); for (int i = 0; i < seasons.length; i++) { System.out.println(seasons[i]); } System.out.println(); String str = "WINTER"; Season1 sea = Season1.valueOf(str); System.out.println(sea); } interface Info { void show(); } enum Season1 implements Info { SPRING("spring", "春暖花开") { public void show() { System.out.println("春天在哪里?"); } }, SUMMER("summer", "夏日炎炎") { public void show() { System.out.println("生如夏花"); } }, AUTUMN("autumn", "秋高气爽") { public void show() { System.out.println("秋天是用来分手的季节"); } }, WINTER("winter", "白雪皑皑") { public void show() { System.out.println("冬天里的一把火"); } }; private final String seasonName; private final String seasonDesc; private Season1(String seasonName, String seasonDesc) { this.seasonName = seasonName; this.seasonDesc = seasonDesc; } public String getSeasonName() { return seasonName; } public String getSeasonDesc() { return seasonDesc; } @Override public String toString() { return "Season [seasonName=" + seasonName + ", seasonDesc=" + seasonDesc + "]"; } }}
输出如下
spring春天在哪里?Season [seasonName=spring, seasonDesc=春暖花开]Season [seasonName=summer, seasonDesc=夏日炎炎]Season [seasonName=autumn, seasonDesc=秋高气爽]Season [seasonName=winter, seasonDesc=白雪皑皑]Season [seasonName=winter, seasonDesc=白雪皑皑]
0 0
- enum
- enum
- enum
- enum
- enum
- enum
- enum
- ENUM
- enum
- enum
- enum
- enum
- enum
- enum
- enum{}
- enum
- enum
- enum
- Android按钮状态的切换
- ExtJS之Ext.Ajax.request用法详解
- Java PrintWriter无法写入的问题
- MTK源码编译 [gcc]: unknown (64-bit) [FAIL]
- wingIDE5切换python版本
- enum
- 第十三周 项目5拓扑排序
- Linux系统配置开机启动默认进入命令行模式
- pb9 通过ole db连接sqlite3数据库
- Android studio v4 v7 包冲突 解决方案
- Android逆向之旅---反编译利器Apktool和Jadx源码分析以及错误纠正
- JavaScript 字符串实用常操纪要
- Solution: Remmina无法连接到RDP服务器xxx
- hadoop “util.NativeCodeLoader: Unable to load native-hadoop library for your platform”