文档章节

java枚举之简要

1527
 1527
发布于 2015/10/11 17:46
字数 266
阅读 4
收藏 0
public class EnumTest {

	public static void main(String[] args) {
		
		WeekDay1 weekDay = WeekDay1.MON;
		//System.out.println(weekDay.nextDay().toString());
		
		WeekDay weekDay2 = WeekDay.SAT;
		System.out.println(weekDay2); //SAT
		System.out.println(weekDay2.ordinal()); //SAT排序 为6
		System.out.println(weekDay2.valueOf("SUN").toString());//SUN 返回一个字符串表现形式
		System.out.println(weekDay2.values().length);//values()表示一个数组
	}
	
	//1.定义一个枚举类
	public enum WeekDay{
		
		SUN,MON,TUE,WED,THI,FRI,SAT;
		//所有的方法必须位于所有的元素之后
		//枚举类的构造方法必须是私有的
		private  WeekDay(){
			System.out.println("first");
		}
		//如果要调用带有参数的构造器,可以这样
		//SUN(1),MON,TUE,WED,THI,FRI,SAT;
		private WeekDay(int day){
			System.out.println("second");
		}
	}
	
	//交通灯
	public enum TrafficLamp{
		
		RED(30){
			//红灯的下一个是绿灯
			public  TrafficLamp nextLamp(){
				
				return GREEN;
			}
		},
		GREEN(45){
			//绿灯的下一个是黄灯
			public  TrafficLamp nextLamp(){
				
				return YELLOW;
			}
		},
		YELLOW(5){
			//黄灯的下一个是红灯
			public  TrafficLamp nextLamp(){
				
				return RED;
			}
		};
		public abstract TrafficLamp nextLamp();
		//指定的是交通灯亮的长度
		private int time;
		private TrafficLamp(int time){
			
			this.time = time;
		}
	}
}
打印结果为:
second
second
first
first
first
first
first
SAT
6
SUN
7
相当于枚举类的每个元素都要被初始化构造



© 著作权归作者所有

共有 人打赏支持
1527
粉丝 6
博文 99
码字总数 40023
作品 0
成都
程序员
Java中枚举的线程安全性及序列化问题

来源:微信公众号 ,原创: Hollis --枚举是如何保证线程安全的 要想看源码,首先得有一个类吧,那么枚举类型到底是什么类呢?是enum吗?答案很明显不是,enum就和class一样,只是一个关键字...

Java填坑之路
08/02
0
0
Java语言学习(十一):枚举类型和泛型

Java中一个重要的类型:枚举,它可以用来表示一组取值范围固定的变量,使用 enum 关键字定义枚举类型,其中元素不能重复,通常大写表示。利用Java的反射机制,可以在运行时分析类,如查看枚举...

海岸线的曙光
07/18
0
0
为什么我墙裂建议大家使用枚举来实现单例

我们知道,单例模式,一般有七种写法,那么这七种写法中,最好的是哪一种呢?为什么呢?本文就来抽丝剥茧一下。 哪种写单例的方式最好 在StakcOverflow中,有一个关于What is an efficient ...

冷_6986
06/13
0
0
java编程新手入门学习的基础语法

Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互...

Java小辰
05/28
0
0
枚举类型可以实现接口,以及枚举类型原理

今天在看 《漫谈设计模式》的时候,看到状态模式的时候,居然发现,枚举类型原来也是可以 实现接口的。 真是涨见识了。 而且 枚举类型的静态属性也是可以 实现方法的, 只是如果没有 实现接口...

之渊
07/24
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Java中的移位运算符

国庆给自己放了个小长期二十几天,回来继续更新专栏 上一篇文章我们说了Java里的二进制,知道了计算机是以0和1来处理数据的,在阅读源码的过程中,经常会看到这些符号<< ,>>,>>>,这些符号...

SuShine
18分钟前
2
0
linux版QQ

下载地址在这 http://yun.tzmm.com.cn/index.php/s/XRbfi6aOIjv5gwj Appimage包不用做什么别的处理,安装啥的都不需要。。找到文件所在目录,终端中修改一下文件的权限 chmod 777 QQ-2017112...

悲催的古灵武士
24分钟前
1
0
咕泡-MyBatis 实用篇作业

1. Mapper在spring管理下其实是单例,为什么可以是一个单例? 首先,mapper 内部不包含 成员字段,无状态单例是安全的 另外,一直存在不用每次调用都new 一个新实例 2. MyBatis在Spring集成下...

职业搬砖20年
27分钟前
2
0
MQTT协议的初浅认识之连接建立

MQTT百科 MQTT(消息队列遥测传输)是ISO 标准(ISO/IEC PRF 20922)下基于发布/订阅范式的消息协议。它工作在 TCP/IP协议族上,是为硬件性能低下的远程设备以及网络状况糟糕的情况下而设计的发布...

亚林瓜子
44分钟前
1
0
OpenStack部署都有哪些方式

对于每一个刚接触到OpenStack的新人而言,安装无疑是最困难的,同时这也客观上提高了大家学习OpenStack云计算的技术门槛。想一想,自己3年前网上偶然接触到OpenStack时,一头茫然,手动搭建一...

tututu_jiang
44分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部