Java 枚举类的基本使用

jira的详细使用教程 ​jira的详细使用教程,1,Jira- 是一款缺陷管理软件工具,用其进行缺陷的管理和跟踪。(是B/S架构的软件) 2,主要涉及的角色: 3,具体工作流 添加工作流 1.点击项目设置 阅读详情

Java 枚举类的基本使用

枚举(enum)类型是Java 5新增的特性,它是一种新的类型,允许用常量来表示特定的数据片断,而且全部都以类型安全的形式来表示。

 

1、常量的使用 

     在JDK1.5之前,我们定义常量都是:public static fianl....。现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法。

1
2
3
4
5
6
7
package com;
 
public  enum  Color {
     
      RED, GREEN, BLANK, YELLOW 
 
}

  使用

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
package com;
 
public  class  B {
 
     public  static  void  main(String[] args) {
 
 
         System. out .println( isRed( Color.BLANK ) ) ;   //结果: false
         System. out .println( isRed( Color.RED ) ) ;     //结果: true
 
     }
 
 
     static  boolean isRed( Color color ){
         if  ( Color.RED. equals ( color )) {
             return  true  ;
         }
         return  false  ;
     }
 
}

  或者 switch 的使用

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
package com;
 
public  class  B {
 
     public  static  void  main(String[] args) {
 
         showColor( Color.RED );
 
     }
 
     static  void  showColor(Color color){
         switch  ( color ) {
         case  BLANK:
             System. out .println( color );
             break ;
         case  RED :
             System. out .println( color );
             break ;
         default :
             System. out .println( color );
             break ;
         }
         
     }
}

  

2、自定义函数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
package com;
 
public  enum  Color {
     
      RED( "红色" , 1), GREEN( "绿色" , 2), BLANK( "白色" , 3), YELLO( "黄色" , 4);
     
     
     private  String name ;
     private  int  index ;
     
     private  Color( String name ,  int  index ){
         this .name = name ;
         this .index = index ;
     }
     
     public  String getName() {
         return  name;
     }
     public  void  setName(String name) {
         this .name = name;
     }
     public  int  getIndex() {
         return  index;
     }
     public  void  setIndex( int  index) {
         this .index = index;
     }
     
 
}

  使用

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
package com;
 
public  class  B {
 
     public  static  void  main(String[] args) {
 
         //输出某一枚举的值
         System. out .println( Color.RED.getName() );
         System. out .println( Color.RED.getIndex() );
 
         //遍历所有的枚举
         for ( Color color : Color.values()){
             System. out .println( color +  "  name: "  + color.getName() +  "  index: "  + color.getIndex() );
         }
     }
 
}

  结果

红色
1
RED name: 红色 index: 1
GREEN name: 绿色 index: 2
BLANK name: 白色 index: 3
YELLO name: 黄色 index: 4

 

总结:

1、枚举的本质是类,在没有枚举之前,仍然可以按照java最基本的编程手段来解决需要用到枚举的地方。枚举屏蔽了枚举值的类型信息,不像在用public static final定义变量必须指定类型。枚举是用来构建常量数据结构的模板,这个模板可扩展。枚举的使用增强了程序的健壮性,比如在引用一个不存在的枚举值的时候,编译器会报错。枚举的更多用法还需要在开发中去研究创造,Java5、Java6增加了不少新的特性,技术在升级,对程序员来说就要学习,如果你热爱java的话。否则别人用到新特性的代码你看不懂,那才叫郁闷。

2、枚举在Java家族中只占了很小的一块比重,所以我在项目中用枚举的地方不是很多,毕竟,一个项目是很多人开发维护的,用一个陌生的东西,会给其他的同事造成阅读困难。所以常量大都是用public static final 来定义的。

 

5
2
« 上一篇: Java 单例模式
» 下一篇: Android log 管理工具
posted @  2016-07-11 12:18  赵彦军 阅读( 75135) 评论( 1)  编辑  收藏

  
#1楼   2017-08-06 10:50 |  安然菇凉   
有两处疑问:
1、常量的使用中“ RED, GREEN, BLANK, YELLOW ”这些常量好像没有具体的值吧。
2、自定义函数中的set方法好像没什么意义吧,感觉不可以重新给它们赋值

【数据集】1970-2023年全球温室气体排放 GHG 数据集 EDGAR 1970-2023年全球温室气体排放 GHG 数据集 EDGAR 阅读详情

相关推荐

深入MoveIt与OMPL集成开发:从源码编译到自定义规划算法实战

本文详细介绍了如何从源码编译集成MoveIt与OMPL,并实现自定义规划算法的完整流程。通过清理环境、获取源码、解决编译依赖与错误,最终指导开发者创建并集成名为MyRRT的自定义规划算法,从而实现对机器人运动规划栈的深度定制与优化。

h0i1j2k3l的博客 467

java enum 多属性_java – 如何通过其属性获取枚举类型?

我写了一个枚举类,我想要按类型获取属性并获取type by属性,但似乎不可能.public enum AreaCode {area1(7927),area2(7928),area3(7929);private final int ac;AreaCode(int ac) {this.ac = ac;}int areaCode(){return ac;}AreaCode area(int n) {sw...

weixin_30071787的博客 1673

手把手教你用vivado2018.3为复旦微JFMQL15T打IP补丁(含环境变量配置技巧)

本文详细介绍了在Vivado 2018.3环境中为复旦微JFMQL15T开发板打IP补丁的全流程,包括环境变量配置、IP缓存管理等关键步骤。通过实战验证的解决方案,帮助工程师快速搭建开发环境,解决国产芯片开发中的常见问题,提升开发效率。

weixin_30374009的博客 725

Java 枚举(enum) 六种常用的方法详解

JDK1.5引入了新的类型--枚举,在java中虽然枚举只是一个很小的功能,却给我们带来了很大的方便。 首先我们要了解几个概念,enum是没有构造函数的,准确的来说是没有public类型的构造函数, 它的构造函数只能是private类型的;enum是单例模式;enum中有一个values方法来获取枚举实例对象数组; 说明: MSG_TYPE_SYSTEM是枚举常量,MsgTypeEnum是枚举...

OceanSky的专栏 6万+

macOS Jdk1.8安装(目前主流版本的jdk)

添加环境环境变量,类似于windows的高级设置中path配置的环境变量。查看 JAVA_HOME 目录。查看 JDK 版本信息。一直下一步安装就好了。在终端的根目录下运行。

m0_50207524的博客 9353

爬取Unsplash高清壁纸:Python爬虫实战教程(最新技术)

在当今数字化时代,高清壁纸已经成为人们个性化设备的重要元素。Unsplash作为全球最知名的免费高质量图片网站,汇集了数百万张由全球摄影师贡献的高清图片。然而,Unsplash官网的下载方式需要手动操作,对于需要批量下载壁纸的用户来说效率较低。本文将带你深入探索如何使用Python爬虫技术高效爬取Unsplash高清壁纸,从基础到进阶,全面掌握图片爬取的核心技术。Unsplash成立于2013年,是一个完全免费的图片分享平台。高质量内容:所有图片均由专业摄影师上传,分辨率普遍达到4K以上免费商用。

2201_76125261的博客 935

Java 扫描枚举类并获取属性

Java 扫描枚举类并获取属性 文章目录Java 扫描枚举类并获取属性第一步:在 pom.xml 下导入 hutool 和 commons-lang3第二步:写一个接口以规范枚举的属性第三步:写两个实体测试类第四步:写一个枚举扫描工具类第五步:代码测试第六步:运行结果第七步:实际使用说明 第一步:在 pom.xml 下导入 hutool 和 commons-lang3 <!--hutool--> <dependency> <groupId>cn.hutool&lt

訾博(ZiBo)的博客 2380

高通SA8295P音频接口深度解析:全面掌握SA8295P的LS-I2S、PCM/TDM与高性能音频处理技术设计

SA8295P提供丰富的音频接口选项,包括LS-I2S、PCM/TDM和HS-I2S接口,具备灵活的配置选项,适合各种高保真音频和高速数据传输应用。结合LS-I2S和PCM/TDM接口:在复杂的音频编解码器设计中,可结合使用LS-I2S和PCM/TDM接口,以处理和传输不同的音频数据流。使用HS-I2S接口:在软件定义无线电(SDR)系统中,高速I2S接口可处理高速数据流,如无线电信号的解码和处理。LS-I2S(低速I2S)接口是SA8295P的一部分,提供了丰富的音频数据传输选项。

weixin_43199439的博客 1405

java枚举类

一、枚举类的特征: 只有私有的构造器; 属性个数有限且为final; 父类为java.lang.Enum; public class Test { public static void main(String[] args) { System.out.println(MsgFlag5.class.getSuperclass().getName()); } } enum MsgFlag5 { OUT, IN; } 结果: 二、通过clas.

qq_19952029的博客 1354

开篇词:学习系统分析师的好处?核心考点有哪些?

系统分析师备考指南 系统分析师是IT行业的高级专业人才,具备系统分析与设计能力,能指导开发团队工作。学习系统分析师不仅能获得职业晋升的"黄金跳板",还能全面提升技术架构思维和业务理解能力。 核心价值: 职业发展:晋升管理岗位的硬性要求,突破职业天花板 能力提升:构建T型知识结构,培养架构思维和软技能 市场竞争力:成为"业务+技术"桥梁,获得国家级专业认证 考试内容: 计算机基础知识(硬件、操作系统、网络等) 系统分析专业知识(软件工程、架构设计等) 进阶知识(企业信息

数据知道的博客 5940

Agent Skills应用解析:构建可扩展、高效率AI探员

Agent Skills是一个简洁而强大的概念:它是一个包含组织化的指令、脚本和资源的文件夹,智能体可以动态地发现并加载这些内容,以在特定任务中表现更佳。可组合性(Composability):一个Agent Skill是一个独立的、封装良好的能力单元。开发者可以为不同的功能(例如PDF处理、网络浏览、数据分析)创建独立的技能,然后根据需要将它们组合起来,赋能不同的智能体。这意味着不再需要为每个用例构建碎片化、定制设计的智能体,而是可以通过组合现有技能来快速构建新的专业智能体。

形上得其象,形下合于数;阴阳自济,玄理自明。 1627

Java——枚举类

enum Day {MONDAY,TUESDAY,WEDNESDAY,THURSDAY,FRIDAY,SATURDAY,SUNDAY // 这里如果只是定义这些枚举常量的话,则这里不需要分号,// 如果后面还有其他成员,则需要分号实际上枚举类的构造器默认是私有的,如果你自己定义了一个构造器,没有加访问修饰符的话,就是默认 private 的。SPRING("温暖"),SUMMER("炎热"),AUTUMN("凉爽"),WINTER("寒冷");

Stewie Lee的博客 5878

YOLO26 多模态融合技术:RGB+红外/深度/雷达融合

YOLO(You Only Look Once)是一种流行的目标检测算法,其最大特点是快速且端到端地完成图像中所有目标的检测与分类任务。YOLO首次在2016年由Joseph Redmon等人提出,彻底改变了传统目标检测(如R-CNN系列)的思路,被广泛应用于自动驾驶、视频监控、工业质检等场景。

一键难忘的博客 3523

java-枚举类的定义及使用

文章目录枚举类的定义jdk5.0之前定义枚举类jdk5.0之后定义枚举类使用enum关键字定义枚举类使用enum关键字定义的枚举类实现接口 枚举类的定义 关于枚举类 1 枚举类的理解:类的对象只有有限个,确定的。我们称此类为枚举类 2 当需要定义一组常量时,强烈建议使用枚类类 3 如果枚举类中只有一个对象,则可以作为单例模式的实现方式。 如何定义枚举类 方式一:jdk5.0之前,自定义枚举类 方式二:jdk5.0之后,可以使用enum关键字定义枚举类 jdk5.0之前定义枚举类 /** * jdk5.0之

记录学习点滴 8932

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Java 枚举类简单使用

1 简单的枚举类 // 创建一个枚举类 package com.lihaogn.test; public enum SeasonEnum { // 定义四个枚举实例 SPRING,SUMMER,AUTUMN,WINTER; } // 测试类 package com.lihaogn.test; public class Test { public static void main(St...

lihaogn的博客 9896

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

java基础之枚举类

枚举类相比常量更具优势,主要体现在类型安全和代码可读性上。使用常量(如int类型)无法限制调用者传递无效值(如传递5、6等非法值),而枚举类通过定义有限的枚举实例,可以严格限制参数的取值范围。枚举类本质上是一个final类,构造器私有化,确保只有预定义的实例存在。此外,枚举类支持switch语句、成员变量和方法,提供了更好的封装性和灵活性。因此,枚举类更适合用于表示固定范围的常量集合,如季节、性别等场景。

ChenYiRan123456的博客 1万+

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

创建枚举类 java_Java枚举类

Java枚举类创建自定义枚举类public class Season {// 属性private final String seasonName;private final String seasonDesc;// 构造器私有化,外接不能调用这个构造器private Season(String seasonName, String seasonDesc) {this.seasonName = se...

weixin_42545664的博客 2351

java枚举类的定义,使用,本质

关于枚举类 参考反编译那些事儿(二)—枚举的反编译 Java枚举类,你真的了解吗? 定义枚举类 public enum ResultCode { /** 有没有发现写枚举类的这一部分就像是在调用构造方法 */ SUCCESS(1, "成功"), PARAM_IS_INVALID(10001, "参数无效"), PARAM_IS_BLANK(10002, "参数为空...

AngerWind的博客 3520

JAVA 中的枚举类

JDK 1.5 新增了一个关键字 enum(它与 class、interface 关键字的地位相同),用来定义枚举类。枚举类是一种特殊的类,它同样可以有自己的成员方法、成员变量、构造器,同时还可用实现一个或者多个接口。对应普通的 Java类,一个源文件中只能够定义一个使用 public 修饰的类,同样的枚举类跟普通的 Java 类一样,一个 Java 一个源文件中也只能够定义一个使用 public 修饰的枚举类,且 Java 源文件名也必须和 public 修饰的枚举类的类名相同。

weixin_54851039的博客 1550

Java枚举类

Java枚举类 为什么引用枚举类 引入枚举类是为了在程序中更方便地定义一组相关的常量。枚举类可以将一组具有相同属性或类型的常量进行封装,使得代码更加清晰、易读,并能提高代码的可维护性和可扩展性。 使用枚举类的好处包括: 清晰明确:枚举类可以为常量赋予一个有意义的名字,使得代码的含义更加清晰明了。 类型安全:枚举类提供了类型安全的保证,避免了传入不合法的参数值。 可维护性:通过使用枚举类,可以集中管理相关的常量,当需要修改或添加新的常量时,只需在枚举类中进行修改即可。 可读性:使用枚举类可以使代码更加易读,

sheep55的博客 1285

【Java基础】Java枚举类详解

注意:Java枚举中的values()方法是一个特殊的存在:​它并非由java.lang.Enum类提供,而是由Java编译器(javac)在编译枚举类时自动生成的。虽然自定义枚举类可以实现枚举类的特点,但是用枚举类实现更简洁快速,且代码可读性高,扩展性强,下面用枚举类实现该特点。2 枚举类隐式实现 java.lang.Enum类,不能继承其他类,但可以实现接口。6 为了符合枚举类特点,枚举类成员变量用private修饰,对外提供读取访问方法。3 枚举类本身被final修饰,不能被其他类继承。

weixin_43336978的博客 2677

java——枚举类

枚举类       在某些情况下,一个累的对象是有限而且固定的,比如季节类,它只有4个对象(春、夏、秋、冬);再比如交通灯类,只有3个对象(红、绿、黄)。这种实例有限而且固定的类,在Java里被称为枚举类。 以前与现在的枚举类的对比       在早期代码中,可能会直接使用简单的静态常量来表示枚举,例如以下代码: public class State { public static f

wilson_m的博客 466

Java 枚举类

enum 关键字是JDK1.5时新增的,那1.5之前是怎么创建枚举类的呢? 自定义枚举类 创建自定义枚举类之前,我们先说下枚举类有哪些特性: 枚举动类对象的属性不应允许被改动, 应该使用 private final修饰 枚举类的使用 private final 修饰的属性应为其赋值,比如使用构造器赋值 若枚举类显式的定义了带参数的构造器, 则在列出枚举值时也必须对应的传入参数 代码示例: public class SeasonTest { public static void main(St

逆流者的博客 340

java枚举类的作用及其使用

枚举类的引入 如何自定义枚举类 枚举类的作用 如何使用关键字enum定义枚举类 Enum类的主要方法 实现接口的枚举类 枚举类的对象只能是有限个的,确定的。 举例如下: 星期:Monday(星期一)、......、Sunday(星期天) 性别:Man(男)、Woman(女) 季节:Spring(春节)......Winter(冬天) 支付方式:Cash(现金)、WeChatPay(微信)、Alipay(支付宝)、BankCard(银 行卡)、CreditCard(信用卡) ...

qq_56457318的博客 3720

Java中的枚举类

Java中的枚举类励志语录枚举类介绍自定义枚举类用enum关键字定义枚举类枚举类的方法枚举类实现接口 励志语录 永不言败,是成功者的最佳品格。 枚举类介绍 什么是枚举类?可以认为如果一个类的对象是有限可数的时,那么我们就称这种类为枚举类 自定义枚举类 根据之前学到的知识,我们可以推得枚举类应该有一下几个特点: 构造器用private修饰 在类中创建有限个该类的对象 该类对象用final与static修饰 该类中对象的属性应为final 提供实例变量的get方法 代码示例: class Session{

qq_41819196的博客 279
上一篇: 关于restful协议很多人的误解
下一篇: 关于ActionContext.getContext()的用法心得
javaPie
博客等级 码龄16年 1171粉丝 43原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值