【Java中的枚举】教程文章相关的互联网学习教程文章

Java:枚举类也就这么回事【图】

目录 一、前言 二、源自一道面试题 三、枚举的由来 四、枚举的定义形式 五、Enum类里有啥? 1、唯一的构造器 2、重要的方法们 3、凭空出现的values()方法六、反编译枚举类 七、枚举类实现单例 八、参考资料 一、前言 本篇博客是对JDK1.5的新特性枚举的一波小小的总结,主要是昨天在看一部分面试题的时候,遇到了枚举类型的题目,发现自己有许多细节还需要加强,做起来都模棱两可,是时候总结一波了。 二、源自一道面试题 不多bb,直...

Java入门-第4章类和对象-枚举类型-读书笔记

第4章 4.8枚举类型: 特殊的类类型,用于表示一组不变的常量。关键字Enum。 隐含扩展java.lang.Enum抽象类,是Obiect类的直接子类。 4.8.1 基本的枚举类型及使用 1、每个枚举常量代表该枚举类型的一个实例,这些实例在枚举类型装入并初始化时自动创建。 2、与普通类一样,每一个枚举类型编译后会产生一个.class文件。 3、使用格式<枚举类型名>.<枚举常量名>引用一个枚举常量。枚举常量的引用也可以是赋给枚举类型的变量。也可以是...

java枚举与常量类的区别

1)枚举型可以直接与数据库打交道,我通常使用varchar类型存储,对应的是枚举的常量名。(数据库中好像也有枚举类型,不过也没用过)  2) switch语句支持枚举型,当switch使用int、String类型时,由于值的不稳定性往往会有越界的现象,对于这个的处理往往只能通过if条件筛选以及default模块来处理。而使用枚举型后,在编译期间限定类型,不允许发生越界的情况  3) 当你使用常量类时,往往得通过equals去判断两者是否相等,使用枚...

深入分析Java反射(二)-数组和枚举

前提 Java反射的API在JavaSE1.7的时候已经基本完善,但是本文编写的时候使用的是Oracle JDK11,因为JDK11对于sun包下的源码也上传了,可以直接通过IDE查看对应的源码和进行Debug。 本文主要介绍反射中可能用到的两个比较特殊的类型,数组和枚举,分别对应java.lang.reflect.Array和java.lang.Enum,后者其实并不是反射类库包中的类,但是反射的基础类库里面有使用枚举类型的方法。 数组类型 数组是一种包含固定数量的相同类型组件(...

Java 枚举(enum)类型详解【代码】

文章目录枚举枚举的定义深入了解枚举类型操作枚举类型成员的方法枚举类型中的构造方法 枚举枚举是 JDK 1.5 中新增的数据类型,取值范围有限,是可以枚举出来的,比如:一周有 7 天,性别有 男、女等。虽然定义类也可以实现,但枚举更简洁、方便。枚举的定义 没有枚举类型时,定义常量常见的方式如下: package demo03;/*** jdk 1.5 以前,定义常量的方式*/ public class ColorConstants {public static final int RED = 1;public s...

2020.1.25 Java枚举详解【代码】【图】

Java枚举枚举类型是什么 JDK5引入了一种新特性,关键字enum 可以将一组具名的值的有限集合创建为一种新的类型,而这些具名的值可以作为常规的程序组件使用,这就是枚举类型。 一个枚举的简单例子 enum SeasonEnum {SPRING,SUMMER,FALL,WINTER; } 枚举类的常用方法 Enum 常用方法有以下几种:name():返回enum实例声明时的名字 ordinal();返回一个int值,表示enum 实例在声明的次序 equals();返回布尔值,enum实例判断相等 compareTo...

java枚举详解【代码】

一、简介public enum Day {MONDAY,TUESDAY,WEDNESDAY,THURSDAY,FRIDAY,SATURDAY,SUNDAY; }一个简单的测试类:public class TestEnum {public static void main(String[] args) {Day today=Day.FRIDAY;switch(today){case MONDAY:System.out.println("today is monday");break;case TUESDAY:System.out.println("today is tuesday");break;case WEDNESDAY:System.out.println("today is webnesday");break;case THURSDAY:System.out...

java-JAXB-从XSD生成类-将枚举转换为除枚举名称之外的自定义toString()【代码】

使用JAXB,我们直接生成Java Bean.在XSD中,我们有一个枚举类型(例如):<xs:simpleType name="ColorType"><xs:restriction base="xs:string"><xs:enumeration value="Red"/><xs:enumeration value="Blue"/><xs:enumeration value="Green"/> </xs:restriction> </xs:simpleType>在数据库中,我们可能有红色,黑色和绿色的标志,例如R,B和G.从某种意义上说,我们的标志只有一个字母词.我想枚举,例如… ColorType.Red.toString()等于R …或类...

在Java中使用枚举或静态字符串变量【代码】

遇到了一个问题,那就是哪个更好用. Java5枚举或静态字符串. 我总是以字符串形式获取数据. 例如 私有静态最终字符串LOAD_DRUGS =“装载毒品”; 或使用Java5枚举public enum LoadType { LOAD_DRUGS("load drugs"); }在我的代码中,我总是收到“加载毒品”类的字符串.我使用if else语句查看基于它的下一步操作.但是我倾向于使用java5枚举并使用switch大小写,但是我总是必须基于我得到的字符串值来获取枚举. 那么,这两种方式的优缺点是什...

[JAVA]枚举类型的应用【代码】

本文介绍枚举类的概念和开发过程中枚举的用法。 枚举类使用enum关键字定义,enum默认继承自Enum类,由于java单继承的特点,enum类无法再继承其他父类 一、枚举类的特性 1、简单枚举类的定义 枚举类用关键字enum定义,成员变量之间用逗号分隔,最后一个成员变量用分号结束。枚举类的命名建议加上Enum后缀。 代码如下: public enum FruitEnum {APPLE,ORANGE,BANANA,PEAR } 枚举的成员变量均为常量,可以通过FruitEnum.APPLE调用,构...

Java 之 枚举(Enum)【代码】

一、枚举1、概述枚举:JDK1.5引入的,类似于穷举,一一罗列出来Java 枚举:把某个类型的对象,全部列出来2、应用什么情况下会用到枚举类型?当某个类型的对象是固定的,有限的几个,那么就可以选择使用枚举。在整个系统的运行期间,有且只有这几个对象。例如: 性别类:只有两个对象:男,女季节类:有4个对象:春、夏、秋、冬 二、JDK1.5之前,实现枚举效果1、需要把构造器私有化:目的:在这个类的外面,无法随意的创建对象2、在...

java-如何在批注中使用不同的枚举类型?【代码】

我正在使用特定于模块的不同枚举定义不同模块的系统常数.现在,我需要定义一个注释,在其中可以指定这些系统常数中的任何一个. 我无法定义注释,因为不同模块的常量具有不同的枚举类型.如果我定义了一个由所有枚举类型实现的接口,那将无法工作,因为不能在注释中使用接口.我总是可以定义String常量而不是枚举.但是有没有办法使用枚举来做到这一点?interface ISystemConstant { }enum ModuleA implements ISystemConstant { // Enum o...

Java-编译器错误-类中定义的枚举不能用于同一类中的泛型替换【代码】

我定义了一个名为IReport的通用接口,该接口采用通用参数类型Tpublic interface IReport<T> {public enum ReportType {YEARLY, MONTHLY, WEEKLY}public String getName();public ReportType getType();public Map<T, List<Cost>> getResults();}一个类正在实现此接口public class WeeklyReport implements IReport<Days> {public enum Days {MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY}@Overridepublic Strin...

Java枚举属性根据访问顺序返回null【代码】

我正在用Java探索枚举,看看它们如何被滥用,并且遇到了无法解释的行为.考虑以下类别:public class PROGRAM {public enum ENUM {;public enum ANIMALS {;public enum CATS {FELIX(DOGS.AKAME),GARFIELD(DOGS.WEED),BUBSY(DOGS.GIN);CATS(DOGS dog) {this.RIVAL = dog;}public DOGS RIVAL;} public enum DOGS {GIN(CATS.FELIX), WEED(CATS.BUBSY), AKAME(CATS.GARFIELD);DOGS(CATS cat) {this.RIVAL = cat;}public CATS RI...

Java枚举是否正确使用/设计?【代码】

我的任务是将一些Java代码转换为C#,并遇到以下枚举(我不得不对此进行概括,因为代码是专有的,很抱歉).该代码的一般目的是将“非基本单位”转换为“基本单位”(例如,从千米到毫米或任何其他单位.它们有大量的转换).我唯一更改的是变量名.模式与代码中的代码完全一样.public enum ThisIsAnEnum implements someInterface { typeKilom( MetricType.kilometer ),typeMillm( MetricType.millimeter );public double convertSometh...