Java中Enum列举的用法

Pixhawk RPi CM4 Baseboard 树莓派CM4安装Ubuntu20.04 server 配置ros mavros mavsdk cm4配置ros mavros连接pixhawk4 Pixhawk RPi CM4 Baseboard 阅读详情

原文出处:http://blog.youkuaiyun.com/DL88250/archive/2007/08/11/1738281.aspx

 

Enum是enumeration(列举)的简写形式,包含在java.lang包中.熟悉C, C++, C<!-- 正文页网画中画广告 -->

<script src="http://ad.ccw.com.cn/adshow.asp?positionID=35&amp;js=1&amp;innerJs=1" type="text/javascript"></script>
<!-- <SCRIPT LANGUAGE="JavaScript1.1" SRC="http://ad.ccw.com.cn/adshow.asp?positionID=35&js=1&innerJs=1"></SCRIPT> -->

#, 或 Pasca l人应该对列举有所了解,先看个例子:

public enum Season { winter, spring, summer, fall }

 

一个enum是定义一组值的对象,它可以包括零个或多个值成员.它是属于enum类型的,一个enum对象中不可有两个或多个相同的属性或值.在次之前的java程序员一般是 用接口的方法实现列举的,如 :

public interface Season {

   static winter = 0;

   static spring = 1; //etc..

}

引入了enum的java的列举的编写方便了许多,只须定义一个enum型的对象.enum对象的值都回自动获得一个数字值,从0开始,依次递增.看一个比较简单的enum实现的例子:

EnumDemo.java

package net.javagarage.enums;



/*

We can loop over the values we put into the enum

using the values() method.

Note that the enum Seasons is compiled into a

separate unit, called EnumDemo$Seasons.class

*/

public class EnumDemo {



      /*declare the enum and add values to it. note that, like in C#, we don't use a ; to

 end this statement and we use commas to separate the values */



      private enum Seasons { winter, spring,

       summer, fall }



      //list the values

      public static void main(String[] args) {

            for (Seasons s : Seasons.values()){

                  System.out.println(s);

            }

      }



}
运行上述代码你回得到 以下结果:

winter

spring

summer

fall

Enum的属性调用:

下面的代码展示了调用enum对象的方法,这也是它通常的用法:

package net.javagarage.enums;

/*

File: EnumSwitch.java

Purpose: show how to switch against the values in an enum.

*/



public class EnumSwitch {



      private enum Color { red, blue, green }



      //list the values

      public static void main(String[] args) {

            //refer to the qualifie d value

            doIt(Color.red);



      }



      /*note that you switch against the UNQUALIFIED name. that is, "case Color.red:" is a

 compiler error */



      private static void doIt(Color c){



      switch (c) {

      case red: 

            System.out.println("value is " + Color.red);

            break;

      case green: 

            System.out.println("value is " + Color.green);

            break;

      case blue: 

            System.out.println("value is : " + Color.blue);

            break;

      default : 

            System.out.println("default");

      }

      }
}

为enums添加属性和方法

enums也可以象一般的类一样添加方法和属性,你可以为它添加静态和非静态的属性或方法,这一切都象你在一般的类中做的那样.

package net.javagarage.enums;



/*

File: EnumDemo.java

Purpose: show how to use an enum that also defines its own fields and methods

*/



public class EnumWithMethods {



//declare the enum and add values to it.



public enum Season {



      winter, spring, summer, fall;



      private final static String location = "Phoenix";



      public static Season getBest(){

            if (location.equals("Phoenix"))

                  return winter;

            else

                  return summer;



      }



      public static void main(String[] args) {



      System.out.println(Season.getBest());

      }

}

就是这么的简单.但是有一点是需要注意的,那就是enums的值列表必须紧跟在enum声明,不然编译时将会出错.

Enums构造函数:

和类一样enums也可以有自己的构造函数,如下:

package net.javagarage.enums;



public class EnumConstructor {



      public static void main(String[] a) {



            //call our enum using the values method

            for (Temp t : Temp.values())

                  System.out.println(t + " is : " + t.getValue());

      }



      //make the enum

      public enum Temp {

            absoluteZero(-459), freezing(32),

            boiling(212), pap erBurns(451);



      //constructor here

      Temp(int value) {

            this.value = value;

      }



      //regular field?but make it final,

      //since that is the point, to make constants

      private final int value;



      //regular get method

      public int getValue() {

      return value;

      }



      }

}
输出结果是:

absoluteZero is : -459

freezing is : 32

boiling is : 212

paperBurns is : 451

尽管enums有这么多的属性,但并不是用的越多越好,如果那样还不如直接用类来的直接.enums的优势在定义int最终变量仅当这些值有一定特殊含义时.但是如果你需要的是一个类,就定义一个类,而不是enum. 

Drools vs URule:5个真实项目场景告诉你如何选择开源规则引擎 本文通过电商风控、物流计费、会员体系、保险定价和物联网告警五个真实项目场景,深度对比了Drools与URule两款开源规则引擎。分析了两者在规则复杂度、性能表现、开发运维及适用场景上的核心差异,为技术选型提供基于实战的决策指南。 阅读详情

相关推荐

一种基于OpenPose和DNN的跌倒检测软件系统(中文&英文)

学习并实现一种跌倒检测模型,此模型基于OpenPose实现逐帧人体姿态检测,使用DNN识别人体动作。检测方式有在线与离线两种,本文主要测试了离线模式,测试效果较好。

Tongzhou_Li的博客 2643

C语言中enum(枚举)详解

enum是 enumerate(列举,枚举)一词的缩写,是 C 语言中的一种常量,被称为 enumeration constant。enum提供了一种很方便的方法来将值和名称关联起来,是#define的一种替代方法。 enum可以看作是一种特殊的数组,是常量组成的列表,而且这个常量只能是整数型。所以如果是寥寥几个不相关、不连续的常量,直接定义几个常量就可以。但是如果是相关的或者连续的,使用enum效率更高。但是枚举与数组、元组不同的有 3点:看到这里你可能会想,必须要弄一个mon来获取值嘛?因为通过变

ZhongUncle的博客 2万+

【SPI-NAND】Linux驱动移植实战:从规格书解析到内核适配

本文详细解析了SPI-NAND Flash的Linux驱动移植实战,从规格书关键参数提取到内核MTD子系统适配。内容涵盖存储结构解析、命令集映射、设备树配置及厂商驱动开发,特别强调ECC校验、坏块管理等NAND特性处理,并提供了性能优化与测试验证的实用技巧。

weixin_27076351的博客 351

Java - 枚举类型enum用法

🚀本文分五部分对枚举用法进行赘述 , 一. 枚举的理解 二. 早期的实现方式 三. 枚举类型的定义 四. 枚举类的要求和特点 五. 枚举类型常用方法

rbx508780的博客 1397

Windows下Python多版本共存与切换的终极指南(含环境变量详解)

本文详细解析了在Windows系统下实现Python多版本共存与切换的完整方案。通过深入讲解环境变量Path的底层机制,提供了从安装策略、精细化Path管理到创建快速切换脚本的实战指南,并介绍了py启动器和虚拟环境等高级技巧,帮助开发者彻底解决版本冲突问题,提升开发效率。

v6b7n8m9q0的博客 537

IEEE Access 上岸指南,附含泪整理的 cover letter 、沟通邮件、终版文档等资料包

终于上岸了! 我是一个小硕,本科期间发表过两篇水文,奈何学校有更高的毕业要求,只能硬着头皮尝试一下 SCI。 想投 IEEE Access 的朋友都应该知道 小木虫论坛 对这个期刊的讨论,褒贬不一,有的人说是大水刊,有的人说有难度。 比如: @wow_: 不可否认,灌水期刊。只要之前中过一篇,再投基本没有不录用的!我们实验室其他老师说过一区除外的收费期刊都应该禁止灌水。 @pssp: 审稿人还...

kurryluo的博客 1万+

Java之枚举(enum)--使用/教程/实例

原文网址: 简介 说明 本文用示例介绍Java中的枚举(enum)的用法。 使用场景 定义常量、状态机等。 枚举与常量类 常量类 以往设置常量,通常将常量放置在接口中,这样在程序中就可以直接使用了,并且该常量不能被修改,因为在接口中定义的常量时,该常量的修饰符为final与static。如: public interface IConstants{ public static final int RED = 1; public static final...

IT利刃出鞘的博客 2万+

基于ESM3微调的抗菌肽生成器:技术方案与实现

基于ESM3微调的抗菌肽生成器:技术方案与实现 摘要 本文提出了一种基于ESM3蛋白质语言模型的抗菌肽生成框架,采用两阶段训练策略:先在151万肽序列上预训练,再在1.3万抗菌肽数据上微调。模型能够生成具有合理长度分布、低重复率且高新颖性的抗菌肽序列。文章详细介绍了数据预处理流程、模型架构设计、训练策略及评估方法,为抗菌肽的理性设计提供了有效的计算工具。实验结果表明,该方法生成的抗菌肽序列在保持生物活性的同时具有较高的结构多样性。 关键词:抗菌肽设计;蛋白质语言模型;ESM3;深度学习;序列生成

huanghm88的专栏 175

Java Enum – Java 枚举示例讲解

ava 中的枚举(Enum)是一种特殊的数据类型,它包含一组预定义的常量。在处理不需要更改的值时,通常会使用enum,比如一周中的天数、一年中的季节、颜色等等。在本文中,我们将看到如何创建一个枚举enum以及如何将其值赋给其他变量。我们还将看到如何在switch语句中使用 enum 或循环遍历它的值。如何在 Java 中创建枚举要创建enum,我们使用enum关键字,类似于使用 class 关键字创建类的方式。以下是一个例子: enum Colors { RED, BLUE, YELLOW,

as12345ss的博客 4498

11、气动外形优化中的连续伴随方法

本文探讨了连续伴随方法在气动外形优化中的理论背景、实现和验证过程。通过使用DLR的FLOWer求解器,将伴随方法应用于Euler和Navier-Stokes方程,以高效计算成本函数梯度,从而显著减少优化过程中的计算成本。文章还介绍了该方法在RAE2822翼型和ONERA M6机翼等案例中的应用,并展示了其准确性和效率。未来展望包括扩展到复杂流动模拟和多学科优化。

desk3的博客 167

HDOCK 蛋白蛋白对接软件使用;LZerD、pyDock、ClusPro网页在线对接

参考:hdock支持蛋白与蛋白,也支持蛋白与核酸对接计算。

weixin_42357472的博客 1万+

Java 1.5新特性Enum的用法

Enum是enumeration(列举)的简写形式,包含在java.lang包中.熟悉C,C++,C#,或Pascal人应该对列举有所了解,先看个例子:publicenumSeason{winter,spring,summer,fall}一个enum是定义一组值的对象,它可以包括零个或多个值成员.它是属于enum类型的,一个enum对象中不可有两个或多个相同的属性或值.在...

weixin_30486037的博客 156

超简单五步实现VOS3000客户端呼入配置

1.查看SIP代理  在注册管理中查看自己线路注册的SIP代理IP地址,记录下来。 2.创建普通账户  创建一个呼入使用的普通账号,选择“计费费率”,根据自己情况选择费率,这里做测试就配置了免费的费率,如果费率不是免费,需要给这个普通账户充值。 3.新建对接网关 新建一个对接网关,点击该网关的“补充设置”,选择“网关类型”为静态IP,然后在IP地址栏填上刚才在注册管理里面记录的SIP代...

非著名运维的博客 1万+

Java 1.5新特性Enum列举的用法

 Enum是enumeration(列举)的简写形式,包含在java.lang包中。熟悉C, C++, C#, 或 Pascal人应该对列举有所了解,先看个例子:  public enum Season { winter, spring, summer, fall }

风斗士 686

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

java.lang包—枚举类Enum

原文作者:山高我为 原文地址:java enum的用法详解 目录 一、enum关键字 二、Enum类源码 三、疑问 四、Enum常见用法 一、enum关键字 enum关键字是在Java1.5也就是Java SE5之后引入的一个新特性:它通过关键字enum来定义一个枚举类,这个被定义的枚举类继承Enum类,这个枚举类算是一种特殊类,它同样能像其他普通类一样拥有构造器、方法,也能够实现接口,但是它不能再继承其他别的类,因为它的直接父类是Enum类,并且因为它默认的修饰符有final的存在,因.

sanmi8276的博客 2244

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

java 1.5 新特性_Java 1.5新特性Enum的用法

Enum是enumeration(列举)的简写形式,包含在java.lang包中.public enum Season { winter, spring, summer, fall }一个enum是定义一组值的对象,它可以包括零个或多个值成员.它是属于enum类型的,一个enum对象中不可有两个或多个相同的属性或值.在次之前的java程序员一般是 用接口的方法实现列举的,public interf...

weixin_35106801的博客 194

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

enum java 判断相等_聊一聊Java的枚举enum

一. 什么是枚举枚举是一种数据类型,具有集合的一些特点,可以存放多个元素,但存储对象有限且固定,枚举也有比较常见的使用场景,如我们需要表达性别(男、女),颜色(红、黄、蓝),星期(星期一、星期二...星期日),四季(春、夏、秋、冬),地理位置(东、西、南、北),方向(前、后、左、右)等,这些场景都非常适合枚举。二. 定义枚举java中使用enum来定义枚举,和class,interface具有同样...

weixin_28689729的博客 1万+

java enum 序号_Java的枚举enum示例详解

一. 什么是枚举枚举是一种数据类型,具有集合的一些特点,可以存放多个元素,但存储对象有限且固定,枚举也有比较常见的使用场景,如我们需要表达性别(男、女),颜色(红、黄、蓝),星期(星期一、星期二...星期日),四季(春、夏、秋、冬),地理位置(东、西、南、北),方向(前、后、左、右)等,这些场景都非常适合枚举。二. 定义枚举java中使用enum来定义枚举,和class,interface具有同样...

weixin_33328904的博客 1379

JAVA枚举类型和常量类的通俗解释

那么什么时候应该使用枚举呢?每当需要一组固定的常量的时候,如一周的天数、一年四季等。或者是在我们编译前就知道其包含的所有值的集合。Java 1.5的枚举能满足绝大部分程序员的要求的,它的简明,易用的特点是很突出的。

奔跑的小豪吖的博客 1227

枚举类—enum

枚举对应英文(enumeration,简写 enum),枚举是一组常量的集合。枚举属于一种特殊的类,里面只包含一组有限的特定的对象。

zeo_123的博客 194

什么是枚举?

什么是枚举? 定义 枚举类型(enum type)是指由一组固定的常量组成合法的类型。Java中由关键字enum来定义一个枚举类型。 public enum Season { SPRING, SUMMER, AUTUMN, WINER;} 特点 1) 使用关键字enum 2) 类型名称,比如这里的Season 3) 一...

weixin_30698297的博客 500

5.常用类

字符串相关类(String,StringBuffer) String 代表不可变的字符序列 String常用方法:charAt、length、split、substring、toLowercase、toUpperCase、trim、valueOf StringBuffer代表可变的字符序列 StringBuffer常用方法: append、insert、delete、reverse;

188

enum java 用法_ENUM的Enum的用法(JAVA版)

展开全部引入了enum的java的列举的编写方便了许多,只须定义一个enum型的对象.enum对象的值都会自动获得一个数字值,从0开始32313133353236313431303231363533e4b893e5b19e31333361303030,依次递增.看一个比较简单的enum实现的例子: EnumDemo.javapackagenet.javagarage.enums;/*Weca...

weixin_39907762的博客 184

Enum列举的用法

1. Enums构造函数: [code="java"]package net.javagarage.enums;   public class EnumConstructor {   public static void main(String[] a) {   //call our enum using the values method   for (Temp t :...

danwind的专栏 217

java枚举类型enum用法_枚举到底是个什么鬼类型?

前言枚举是很多面向对象语言都会有的一种类型,它可以将表达同一类型的变量组合成一个集合,组成一个常量集在Java中也有枚举类型,是用enum关键字来表示的枚举常用来表示一个常量集,用来限定变量的取值,只能在枚举的范围内,比如一年四季只有春、夏、秋、冬、一个星期只有周一到周日,这类固定的常量就比较适合用枚举来表达当然你说我用静态的常量来表达行不行呢?也是可以的,只是枚举就是为这种场景而生的枚举这种类型...

weixin_39595537的博客 551

Enum和EnumMap的使用

在实际应用中,有的变量只有几种可能取值。如人的性别只有两种可能取值,星期只有七种可能取值。在 Java语言中对这样取值比较特殊的变量可以定义为枚举类型。所谓枚举是指将变量的值一一列举出来,变量只限于列举出来的值的范围内取值。 枚举是一个特殊的类,可以定义自己的变量,自己的方法,构造方法,甚至可以实现一个接口等等,只是它的实例是事先定义好的,限定了范围,可以使用的实例只能在限定范围内取得。 enum Car{ //枚举实例,限定枚举实例范围 lamborghini(888888,"兰博基

大叶子不小的博客 6303
上一篇: Java中Enum列举的用法
下一篇: 利用MyEclipse从数据库反向生成实体类之JPA方式
goofy521
博客等级 码龄19年 2粉丝 20原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值