java中枚举的用法总结,JAVA中的枚举
本篇文章给大家带来了关于爪哇岛的相关知识,其中主要介绍了关于枚举的相关问题,包括了枚举的基本操作、集合类对枚举的支持等等内容,下面一起来看一下,希望对大家有帮助。
写爬虫互联网协议(互联网协议)被封了怎么解决?立即使用
案例引入
定义一个颜色,只能定义红、绿、蓝三种颜色
普通方法那么如何解决这种问题,让color只能在三种颜色中选一种???
Enum类和enum关键字
公共枚举颜色{
红色,
绿色,
蓝色;}
枚举常用的方法
代码
公共类枚举测试{
公共静态void main(String[] args) {
//定义一个颜色变量,只能设置为红色、绿色、蓝色
颜色颜色=颜色。蓝色;
系统。出去。println(彩色);
系统。出去。println(颜色。name());
系统。出去。println(颜色。tostring());//三种方式都是打印名字
系统。出去。println(颜色。序数());//返回枚举的序号红色- 0、绿色- 1、蓝色- 2
color[]值=颜色。values();//返回所有枚举类型
系统。出去。println(数组。tostring(值));
}}
枚举的基本操作
带构造方法的枚举
枚举不允许从外部调用,所以只能是私人的修饰构造方法只能在对象中调用
公共枚举颜色{
红色(10),
绿色(20)、
蓝色;
私有(同Internationalorganizations)国际组织数;//属性
private Color() {//默认构造方法
System.out.println(无参构造器被调用了!);
}
专用颜色(整数){
这个。数=数;
System.out.println(有参构造器被调用了!);
}
public int getNumber(){
退货数量;
}}主方法
公共类枚举测试{
公共静态void main(String[] args) {
颜色颜色=颜色。红色;
系统。出去。println(颜色。name());
系统。出去。println(颜色。get number());//获取数字的值
}}
枚举实现接口
方式1:在枚举对象内部实现接口中的方法
接口信息{
公共字符串getColor();}公共枚举颜色实现信息{
红色{
@覆盖
公共字符串getColor() {return 红色;}
},
绿色{
@覆盖
公共字符串getColor() {return 绿色;}
},
蓝色{
@覆盖
公共字符串getColor() {return 蓝色;}
};}方式2:在枚举类中实现接口中的方法
接口信息{
公共字符串getColor();}公共枚举颜色实现信息{
红色、绿色、蓝色;
@覆盖
公共字符串getColor() {
返回空
}}主方法
公共类枚举测试{
公共静态void main(String[] args) {
颜色颜色=颜色。红色;
系统。出去。println(颜色。getcolor());
}}
枚举实现抽象方法
枚举类
公共枚举颜色{
红色{
@覆盖
公共字符串getColor() {return 红色;}
},
绿色{
@覆盖
公共字符串getColor() {return 绿色;}
},
蓝色{
@覆盖
公共字符串getColor() {return 蓝色;}
};
//在枚举中定义一个抽象方法,通过枚举对象实现
公共抽象字符串getColor();}主方法
公共类枚举测试{
公共静态void main(String[] args) {
颜色颜色=颜色。蓝色;
系统。出去。println(颜色。getcolor());
}}
枚举实现单例模式
枚举类
公共枚举单例{
单线态;
公共空的方法(){
System.out.println(使用枚举实现单例模式!);
}}主方法
公共类枚举测试{
公共静态void main(String[] args) {
单线态=单线态。单线态;
单身。方法();
}}
集合类对枚举的支持
EnumSet
代码
导入Java。util。枚举集;公共类枚举测试{
公共静态void main(String[] args) {
EnumSetColor set=枚举集。allof(颜色。类);//把一个枚举类型全部填充到集合中去
对于(颜色丙:设置){
系统。出去。println(c . name());
}
}}
EnumMap
代码
导入Java。util。枚举映射;公共类枚举测试{
公共静态void main(String[] args) {
EnumMapColor,String map=新枚举映射(Color。类);
Map.put(颜色。红色,‘红色’);
Map.put(颜色。绿色,‘绿色’);
Map.put(颜色。蓝色,‘蓝色’);
system . out . println(map . get(Color。红色));
}
推荐:《java视频教程》以上是Java基础归纳的枚举详细内容。更多请关注我们的其他相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。