文档章节

java --枚举

求是科技
 求是科技
发布于 2016/09/25 21:42
字数 363
阅读 19
收藏 0

枚举用来存放一些只存在几种情况的对象,例如:星期、颜色等。
若枚举只有一个成员,则可以作为一种单例模式的实现方式。
#1.自定义枚举类

//自定义枚举类  
class Season{
	
	//2.定义两个属性
	private final String seasonName;
	private final String seasonDesc;
	
	//1.私有构造器,防止外部调用
	private Season(String seasonName,String seasonDesc){
		this.seasonName = seasonName;
		this.seasonDesc = seasonDesc;
	}
	
	//3.创建枚举类的对象
	public static final Season SPRING = new Season("春天", "春暖花开");
	public static final Season SUMMER = new Season("夏天", "夏日炎炎");
	public static final Season AUTUMN = new Season("秋天", "秋高气爽");
	public static final Season WINTER = new Season("冬天", "千里冰封 ");
	
	public String getSeasonName() {
		return seasonName;
	}

	public String getSeasonDesc() {
		return seasonDesc;
	}

	@Override
	public String toString() {
		return "Season [seasonName=" + seasonName + ", seasonDesc=" + seasonDesc + "]";
	}
}

自定义枚举类的使用

public class TestSeason {
	public static void main(String[] args) {
		Season spring = Season.SPRING;
		System.out.println(spring);
		System.out.println(spring.getSeasonName());
	}
}

#2.enum

//使用enum枚举类  
enum Season{
	
	//1.列举出所有的类型
	SPRING("春天", "春暖花开"),
	SUMMER("夏天", "夏日炎炎"),
	AUTUMN("秋天", "秋高气爽"),
	WINTER("冬天", "千里冰封 ");
	
	//2.定义两个属性
	private final String seasonName;
	private final String seasonDesc;
	
	//3.私有构造器,防止外部调用
	private Season(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 + "]";
	}
}

使用方法

	public static void main(String[] args) {
		
		//1.返回枚举类所有的对象
		Season[] season = Season.values();
		for (int i = 0; i < season.length; i++) {
			System.out.println(season[i]);
		}
		//2.单独使用一种情况
		String tmp = Season.SPRING.getSeasonName();
		System.out.println(tmp);
	}

© 著作权归作者所有

共有 人打赏支持
上一篇: java --注解
下一篇: java --泛型
求是科技

求是科技

粉丝 96
博文 448
码字总数 231187
作品 0
成都
后端工程师
私信 提问
Java中枚举的线程安全性及序列化问题

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

Java填坑之路
2018/08/02
0
0
为什么我墙裂建议大家使用枚举来实现单例。

关于单例模式,我的博客中有很多文章介绍过。作为23种设计模式中最为常用的设计模式,单例模式并没有想象的那么简单。因为在设计单例的时候要考虑很多问题,比如线程安全问题、序列化对单例的...

2018/06/10
0
0
java 枚举(enum) 全面解读

简介 枚举是Java1.5引入的新特性,通过关键字enum来定义枚举类。枚举类是一种特殊类,它和普通类一样可以使用构造器、定义成员变量和方法,也能实现一个或多个接口,但枚举类不能继承其他类....

jimmie_yang
2018/10/19
0
0
Jmockdata 4.1.2 发布,随机模拟 Java 数据

Jmockdta 是一款实现模拟 JAVA 类型或对象的实例化并随机初始化对象的数据的工具框架。单元测试的利器。 The plugin of Jmockdata what through random algorithm mock java data. Jmockdat...

寻觅一只耳朵
03/17
0
0
Java语言学习(十一):枚举类型和泛型

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

海岸线的曙光
2018/07/18
0
0

没有更多内容

加载失败,请刷新页面

加载更多

开启genelog

打开genelog genelog 可以记录数据库的操作语句。 首先进入mysql, mysql -u root -p 设置日志位置 set global general_log_file = "/tmp/general.log"; 设置全局global模式 set global gen......

狼王黄师傅
26分钟前
1
0
Java 帝国对 Python 的渗透能成功吗?哈哈

引子 Java 帝国已经成立20多年,经过历代国王的励精图治,可以说是地大物博,码农众多。 可是国王依然不满足,整天想着如何继续开拓疆土, 这一天晚上他又把几个重臣招来商议了。 IO大臣说:...

边鹏_尛爺鑫
今天
8
0
分布式事务解决方案框架(LCN)

什么是XA接口 XA是一个分布式事务协议,由Tuxedo提出。XA中大致分为两部分:事务管理器和本地资源管理器。其中本地资源管理器往往由数据库实现,比如Oracle、DB2这些商业数据库都实现了XA接口...

群星纪元
今天
8
0
linux 操作系统 常用命令和软件安装

1.系统时间更新 ntpdate time.windows.com 2.传送文件 rsync -av /home/data/a.dat -e ssh root@192.168.0.100:/home 3.传送文件夹 scp -r /home/data root@192.168.0.100:/home 4.JDK安装 ......

WJtiny
今天
3
0
pg_lightool基于basebackup的单表恢复和块恢复

开源软件pg_lightool,实现了基于wal日志的块恢复。详情参见博客:https://my.oschina.net/lcc1990/blog/1931485。由于wal日志中FPW的不确定性,它不能作为一个数据库恢复的解决方案。目前对...

movead
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部