enum

Java枚举一些常用用法(enum)

て烟熏妆下的殇ゞ 提交于 2019-12-30 01:32:10
1、在没有枚举之前,使用类来定义私有属性那些不被改变的固有的值,如周一到周日,而且每次声明都是public static fianl... 2、有了枚举后便可以把相关的变量放在一起,省了每次都用public static fianl...声明。 一、枚举的常用方法 方法 说明 int compareTo (E o) 比较此枚举与指定对象的顺序 Class<E> getDeclaringClass () 返回与此枚举常量的枚举类型相对应的 Class 对象 String name () 返回枚举常量的序数(它在枚举声明中的位置,其中初始常量序数为零) int ordinal () 返回枚举常量的序数(它在枚举声明中的位置,其中初始常量序数为零) String toString () 返回枚举常量的名称,它包含在声明中 static <T extends Enum<T>> T valueOf (Class<T> enumType, String name) 返回带指定名称的指定枚举类型的枚举常量 实验 public enum Test { SUN("周日"), MON("周一"), TUE("周二"), WED("周三"), THU("周四"), FRI("周五"), SAT("周六"); private Test(String week) { } public String

Java枚举类Enum 使⽤场景

筅森魡賤 提交于 2019-12-29 22:36:21
Java枚举类Enum 使⽤场景 什么是枚举 : 在数学和计算机科学理论中,⼀个集的枚举是列出某些有穷序列集的所有成员的程序,或者是⼀种特定类型对象的计数。 java⾥⾯的枚举Enum 枚举类型是Java 5中新增特性的⼀部分,它是⼀种特殊的数据类型, 定义枚举类型时使⽤的关键字是enum,与class关键字类似,但前者是定义枚举类型,后者是定义类类型 注意: 枚举值⼀般是⼤写的字⺟,多个值之间以逗号分隔 没有枚举类型时定义常量常⻅ public class EnumTest { public static final int MONDAY = 1; public static final int TUEDAY = 2; public static final int WEDNESDAY = 3; public static final int THURSDAY = 4; public static final int FRIDAY = 5; public static final int SATURDAY = 6; public static final int SUNDAY = 7; } 使⽤枚举类型定义 enum DayEnum{ MONDAY,TUEDAY,WEDNESDAY,THURSDAY,FRIDAY,SATURDAY,SUNDAY } enum SexEnum{

Java中的Enum的使用与分析

旧街凉风 提交于 2019-12-29 13:14:54
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 示例: public enum EnumTest { FRANK("The given name of me"), LIU("The family name of me"); private String context; private String getContext(){ return this.context; } private EnumTest(String context){ this.context = context; } public static void main(String[] args){ for(EnumTest name :EnumTest.values()){ System.out.println(name+" : "+name.getContext()); } System.out.println(EnumTest.FRANK.getDeclaringClass()); } } Java中枚举实现的分析: 示例: public enum Color{ RED,BLUE,BLACK,YELLOW,GREEN } 显然, enum很像特殊的class,实际上enum声明定义的类型就是一个类。 而这些类都是类库中Enum类的子类(java.lang.Enum<E>)

Java进级篇 - Java Enum的用法详解

 ̄綄美尐妖づ 提交于 2019-12-29 13:14:42
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 用法一:常量 在JDK1.5 之前,我们定义常量都是: public static fianl.... 。现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法。 public enum Color { RED, GREEN, BLANK, YELLOW } 用法二:switch JDK1.6之前的switch语句只支持int,char,enum类型,使用枚举,能让我们的代码可读性更强。 enum Signal { GREEN, YELLOW, RED } public class TrafficLight { Signal color = Signal.RED; public void change() { switch (color) { case RED: color = Signal.GREEN; break; case YELLOW: color = Signal.RED; break; case GREEN: color = Signal.YELLOW; break; } } } 用法三:向枚举中添加新方法 如果打算自定义自己的方法,那么必须在enum实例序列的最后添加一个分号。而且 Java 要求必须先定义 enum 实例。 public enum Color {

c#基础笔记四(Enum枚举的使用和使用场景)

我的梦境 提交于 2019-12-28 01:24:08
Enum枚举的使用和使用场景 枚举是一组命名整型常量。 枚举类型是使用 enum 关键字声明的。 C# 枚举是值类型。 枚举不能被继承或传递继承。 枚举的声明 enum MyEnum { A , B , C , D , E } 枚举列表中的每个符号都会对应一个整数数值,在没有指定的情况下符号对应的整数就是该符号在枚举列表中的下标,如果有一个被指定数值,那么后面的符号就会以这个符号被指定的数值开始递增; static void Main ( string [ ] args ) { Console . WriteLine ( ( ( int ) MyEnum . A ) . ToString ( ) ) ; Console . WriteLine ( ( ( int ) MyEnum . B ) . ToString ( ) ) ; Console . WriteLine ( ( ( int ) MyEnum . C ) . ToString ( ) ) ; Console . WriteLine ( ( ( int ) MyEnum . D ) . ToString ( ) ) ; Console . WriteLine ( ( ( int ) MyEnum . E ) . ToString ( ) ) ; Console . ReadKey ( ) ; } enum MyEnum

二十三、枚举

◇◆丶佛笑我妖孽 提交于 2019-12-27 00:35:34
很多的编程语言里面实际上都存在有枚举的概念,但是Java一直到JDK1.5之后才可以正式推出枚举这一概念,在这之前枚举的概念只能够通过多例设计模式来描述。 了解单例和多例点这里 一、枚举的基本定义 在JDK1.5之后提供有一个enum的关键字,该关键字的主要作用就是实现枚举类的定义,同时在进行枚举类定义的时候一定要遵循一些多例设计模式原则(构造方法私有、内部要提供有若干个对象常量) **例:**定义枚举 enum Color { //颜色基色的枚举 RED, GREEN, BLUE; //多例设计中的对象是常量必须大写 } public class TestEnum { public static void main(String[] args) { Color red = Color.RED; //直接获取枚举对象 System.out.println(red); } } 程序执行结果: RED (默认获取的就是枚举名称) 使用enum定义的枚举类可以方便的通过valuesO静态方法获取全部的枚举定义内容。 例 :使用values()获取全部枚举信息 enum Color { //颜色基色的枚举 RED, GREEN, BLUE; //多例设计中的对象是常量必须大写 } public class TestEnum { public static void main(String[

Enum(枚举类)

邮差的信 提交于 2019-12-26 01:29:51
有的人说,不推荐使用枚举。有的人说,枚举很好用。究竟怎么使用,如何使用,仁者见仁智者见智。总之,先学会再说~ 为什么要引入枚举类 一个小案例 你写了一个小程序,不过好久不用了,突然有一天,你想使用一下它。程序要想正确运行,需要将今天星期几存到数据库里。这个时候,你开始犯难了。 当初的你还很年轻,不懂程序界的险恶,设计这个程序的时候,傻不拉几把这个字段设计为int类型的,用0代表周日,1代表周一。。。6代表周六,添加的时候就setWeekday(0)。但是这么长时间没用了,你忘记自己是从周一开始计算还是周日开始计算了,换句话说,你想不起来0代表的是周一还是周日了! 于是你各种翻代码,看数据库的字段,数据库保存的信息,终于搞懂了,你很开心,用了一次之后,觉得这个程序没意思,又不用了。 很久之后,你心血来潮,又想用一次它,很不幸,你又忘记到底0代表周一还是周日了,一番查找之后。你决定重构代码,因为你受不了了!! 静态变量来帮忙 经过一番思考,你决定使用七个静态变量来代表星期几,以后只要引用和静态变量就可以了,而不用自己输入012….你这么写: public class Weekday { public final static int SUN = 0 ; public final static int MON = 1 ; public final static int TUE = 2 ;

C:enum(枚举)

邮差的信 提交于 2019-12-24 00:04:57
enum ( 枚举 ) https : / / www . runoob . com / cprogramming / c - enum . html #include <stdio.h> #include <stdlib.h> int main ( ) { enum color { red = 1 , green , blue } ; enum color favorite_color ; /* ask user to choose color */ printf ( "请输入你喜欢的颜色: (1. red, 2. green, 3. blue): " ) ; scanf ( "%d" , & favorite_color ) ; /* 输出结果 */ switch ( favorite_color ) { case red : printf ( "你喜欢的颜色是红色" ) ; break ; case green : printf ( "你喜欢的颜色是绿色" ) ; break ; case blue : printf ( "你喜欢的颜色是蓝色" ) ; break ; default : printf ( "你没有选择你喜欢的颜色" ) ; } return 0 ; } 来源: CSDN 作者: hahahafree 链接: https://blog.csdn.net

JAVA-Enum 枚举

别来无恙 提交于 2019-12-21 13:38:53
【参考】枚举类名建议带上 Enum 后缀,枚举成员名称需要全大写,单词间用下划线隔开。 说明:枚举其实就是特殊的类,域成员均为常量,且构造方法被默认强制是私有。 正例:枚举名字为 ProcessStatusEnum 的成员名称:SUCCESS / UNKNOWN_REASON。 创建一个枚举类 public enum DayEnum { SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY } 使用 public class EnumTest { DayEnum day; public EnumTest(DayEnum day) { this.day = day; } public void tellItLikeItIs() { switch (day) { case MONDAY: System.out.println("Mondays are bad."); break; case FRIDAY: System.out.println("Fridays are better."); break; case SATURDAY: case SUNDAY: System.out.println("Weekends are best."); break; default: System.out.println(

Rust:enum私有性问题

白昼怎懂夜的黑 提交于 2019-12-20 19:52:01
在 Learn Rust With Entirely Too Many Linked Lists 中有这样一个问题,以下代码再编译的时候会报错 struct Node { elem: i32, next: List, } pub enum List { Empty, More(Box<Node>), } 这是因为虽然List的是pub的但是List是enum,它的取值中有一个私有的Node,虽然声明List为pub但是这样做会暴露私有成员因此编译会报错。 来源: CSDN 作者: 时间海YYY 链接: https://blog.csdn.net/qq_18474813/article/details/103629854