Java Enum 枚举类的values方法】的更多相关文章

Enum类和enum关键字定义的类型都有values方法,但是点进去会发现找不到这个方法.这是因为java编译器在编译这个类(enum关键字定义的类默认继承java.lang.Enum)的时候 自动插入了一条static的方法values.在官方文档中有说明. 文档地址:https://docs.oracle.com/javase/tutorial/java/javaOO/enum.html 截图:…
图一代码: public enum LogMethodEnum { WEBCSCARDVALID("返回值"), WEBCSVERIFYPASSWORD("返回值"), WEBCSSAVEPASSWORD("返回值"), WEBCSSETPASSWORD("返回值"), WEBCSQUERYTOTALBALANCE("返回值"), WEBCSQUERYCARDDETAIL("返回值"),…
目录 一.前言 二.源自一道面试题 三.枚举的由来 四.枚举的定义形式 五.Enum类里有啥? 1.唯一的构造器 2.重要的方法们 3.凭空出现的values()方法 六.反编译枚举类 七.枚举类实现单例 八.参考资料 一.前言 本篇博客是对JDK1.5的新特性枚举的一波小小的总结,主要是昨天在看一部分面试题的时候,遇到了枚举类型的题目,发现自己有许多细节还需要加强,做起来都模棱两可,是时候总结一波了. 二.源自一道面试题 不多bb,直接开门见山,我遇到这样一道也许很简单的题目: enum Ac…
首先说说为什么要写这个enum枚举类吧,是群里有个新手问:怎样把enum类中的值遍历得到,其实自己用的也很少.自己也是确实不知道,于是我去网上搜了不少,总结了些,希望对大家有帮助:首先我说说怎样遍历枚举中的值吧,其实很简单,这里贴张图吧 老规矩,下面是我在网上扒的一些个人感觉写的好的文章,在这里引用纯属学习,望前辈们莫责怪 Enum作为Sun全新引进的一个关键字,看起来很象是特殊的class,   它也可以有自己的变量,可以定义自己的方法,可以实现一个或者多个接口.   当我们在声明一个enum…
一. 出现背景: 在JDK1.5之前,我们定义常量是这种:public static final String RED = "RED"; 在JDK1.5中增加了枚举类型,我们能够把相关的常量分组到一个枚举类中: public enum Color { RED, GREEN, BLUE; } 使用的时候能够这样:Color c = Color.RED 二. 枚举特点: 1. 枚举enum是一个特殊的Java类.它继承自java.lang.Enum,继承了非常多Enum的方法.但枚举类是一…
笔记: import java.lang.*; /**一:枚举类 : enum Season implements info { s1(),s2(),s3(),s4() }; //s1--s4 放在Season类的最上面! * 1.1.values() 返回一个包含整体的数组! * 2.valueof(String name),返回对应name的类, 必须是枚举类对象的名字,否则报错! * 3.实现接口,重写抽象方法 ,不同的枚举类可以有不同的方法 */ 枚举类代码: interface inf…
用法一:常量 在JDK1.5 之前,我们定义常量都是: public static fianl.... .现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法. public enum Color { RED, GREEN, BLANK, YELLOW } 用法二:switch JDK1.6之前的switch语句只支持int,char,enum类型,使用枚举,能让我们的代码可读性更强. enum Signal { GREEN, YELLOW, RED } pu…
Enum枚举类 ①枚举类和普通类的差别: 使用 enum 定义的枚举类默认继承了 java.lang.Enum 类 枚举类的构造器仅仅能使用 private 訪问控制符 枚举类的全部实例必须在枚举类中显式列出(, 分隔    ; 结尾). 列出的实例系统会自己主动加入 public static final 修饰 ②JDK 1.5 中能够在 switch 表达式中使用Enum定义的枚举类的对象作为表达式, case 子句能够直接使用枚举值的名字, 无需加入枚举类作为限定 ③枚举类的主要方法: v…
目录 Enum 枚举类 基础 定义与用途 基本方法 示例 进阶 实现原理 枚举与Class对象 自定义枚举类和构造方法及toString() Enum中使用抽象方法来实现枚举实例的多态性 Enum与接口 enum和switch Enum与单例 枚举工具类 Enum 枚举类 基础 定义与用途 枚举类型是Java 5中新增特性的一部分,它是一种特殊的数据类型,之所以特殊是因为它既是一种类(class)类型却又比类类型多了些特殊的约束,但是这些约束的存在也造就了枚举类型的简洁性.安全性以及便捷性. p…
说明:Java的枚举比dotnet的枚举好用,至少支持的方式有很多. 用法一:常量 在JDK1.5 之前,我们定义常量都是: public static fianl.... .现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法. public enum Color { RED, GREEN, BLANK, YELLOW } 用法二:switch JDK1.6之前的switch语句只支持int.char.enum类型,使用枚举,能让我们的代码可读性更强. en…
Java学习——枚举类 摘要:本文主要介绍了Java的枚举类. 部分内容来自以下博客: https://www.cnblogs.com/sister/p/4700702.html https://blog.csdn.net/zhou520yue520/article/details/80952404 为什么使用枚举类 枚举类更加直观,类型安全.使用常量会有以下几个缺陷: 类型不安全.若一个方法中要求传入季节这个参数,用常量的话,形参就是int类型,开发者传入任意类型的int类型值就行,但是如果是…
Java笔记---枚举类和注解 一.枚举类 自定义枚举类 方式一:JDK5.0之前自定义枚举类 class Seasons { //1. 声明Seasons对象的属性 private final String SeasonName; private final String SeasonDescrp; //2. 私有化类的构造器, 并给对象赋值初始化 private Seasons(String SeasonName, String SeasonDescrp) { this.SeasonDesc…
java.lang.String 类的所有方法 方法摘要 char charAt(int index) 返回指定索引处的 char 值. int codePointAt(int index) 返回指定索引处的字符(Unicode 代码点). int codePointBefore(int index) 返回指定索引之前的字符(Unicode 代码点). int codePointCount(int beginIndex, int endIndex) 返回此 String 的指定文本范围中的 Un…
java的ThreadLocal类的使用方法,ThreadLocal是一个支持泛型的类,用在多线程中用于防止并发冲突问题. 比如以下的一个样例,就是用于线程添加1,可是相互不冲突 package com.test.threadlocal; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; class Local { private static ThreadLocal<Integ…
 Java中主类中定义方法加static和不加static的区别(前者可以省略类名直接在主方法调用(类名.方法),后者必须先实例化后用实例调用) 知识点:1.Getter and Setter 的应用 2.局部变量与成员变量(也可叫做全局变量) 3.Static关键字的用法 a.成员变量被static修饰后的所有类的共享属性 b.方法被static修饰之后,在本类内调用的类名省略问题;以及不用Static,即使在本类内也必须先实例化 4.This关键字的用法 this:是当前类的对象引用.简单的…
Java中Pattern类的quote方法将任何字符串(包括正则表达式)都转换成字符串常量,不具有任何匹配功能. 下面是个例子: import org.junit.Test; import java.util.ArrayList; import java.util.List; import java.util.regex.Pattern; public class TestPattern { @Test public void testQuote(){ List<String> stringL…
在实际编程中,往往存在着这样的“数据集”,它们的数值在程序中是稳定的,而且“数据集”中的元素是有限的. 例如星期一到星期日七个数据元素组成了一周的“数据集”,春夏秋冬四个数据元素组成了四季的“数据集”. enum 的全称为 enumeration, 是 JDK 1.5  中引入的新特性,存放在 java.lang 包中,在上面的这种情况下,enum就能派上用场了.枚举类型的用途不仅如此,具体可用场景可看下面的介绍 1.常量 以前我们定义一个常量通常都是使用 public static final…
如果要定义一个枚举类: public enum Size { SAMLL, MEDIUM, LARGE, EXTRA, EXTRA_LARGE}; 实际上,这个声明定义的类型是一个类,它刚好有4个实例,在此尽量不要构造新对象. 因此,在比较两个枚举类型的值时,永远不需要调用equals,而直接使用"=="就可以了. 如果需要的话,可以在枚举类型中添加一些构造器.方法和域.当然,构造器知识在构造枚举常量的时候被调用.下面是一个示例: public enum Size { SMALL(&q…
DK1.5引入了新的类型——枚举.在 Java 中它虽然算个“小”功能,却给我的开发带来了“大”方便. 用法一:常量 在JDK1.5 之前,我们定义常量都是: publicstaticfianl.... .现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法. public enum Color { RED, GREEN, BLANK, YELLOW } 用法二:switch JDK1.6之前的switch语句只支持int,char,enum类型,使用枚举,能…
java的枚举类型详解: 简单示例: public enum Color{ RED,BLUE,BLACK,YELLOW,GREEN } 复杂示例(带自定义构造方法与类型) public enum EnumTest { FRANK("The given name of me"), LIU("The family name of me"); private String context; private String getContext(){ return this.…
知识点:在Java中,使用枚举类,当遇到实例类型有限的类时,并且数据库中用状态码代表一种含义时,如星期,性别,员工登陆某系统的状态等等, 可以考虑使用枚举类 本例子可以仿照,也可以使用自定义的类型处理器,处理枚举类型,使用方法参考另一篇博客:https://www.cnblogs.com/shuaifing/p/9330913.html (1)枚举类 EmpsStatus.java一种状态码代码一种登录状态,如100代表用户已登录,其中getEmpStatusByCode,getEmpEnum都…
转载自: 原理:http://singleant.iteye.com/blog/686349 应用:http://www.cnblogs.com/happyPawpaw/archive/2013/04/09/3009553.html Java Enum 基本原理 1. 关于 Java Enum 学过 C/C++ 等语言的人,应该都对 Enum 类型略知一二. Enum 一般用来表示一组相同类型的常量.如性别.日期.月份.颜色等.对这些属性用常量的好处是显而易见的,不仅可以保证单例,且比较时候可以…
一.什么是枚举 值类型的一种特殊形式,它从 System.Enum 继承,并为基础基元类型的值提供备用名称.枚举类型有名称.基础类型和一组字段.基础类型必须是一个内置的有符号(或无符号)整数类型(如 Byte.Int32 或 UInt64).字段是静态文本字段,其中的每一个字段都表示常数.所使用的语言给每个字段都分配一个基础类型的特定值.JDK1.5引入了新的类型——枚举.在 Java 中它虽然算个“小”功能,却给我的开发带来了“大”方便. 枚举类型在C#或C++,java,VB等一些计算机编程…
在项目实际开发过程中,经常会遇到对某些固定的值.字典项的定义的需求,很多项目经常使用常量来定义,其实在jdk1.5就已经引入了枚举,使用枚举可以更好的解决这类需求,本文主要记录枚举的优势以及经常在项目中使用的方法. 知识点 枚举类命名 枚举类的命名通常需要Enum为后缀,枚举成员名称需要全大写,单词间用下划线隔开. 枚举类不允许使用 extends 关键字 枚举类默认会继承java.lang.Enum,由于java是单继承,所以在定义枚举类时不允许再继承其他类,但可以实现多个接口 枚举的比较可以…
有时候,变量的取值只在一个有限的集合内. 例如:pizza的大小只有小.中.大和超大这四种尺寸.当然,可以将这些尺寸分别编码为1.2.3.4或者S.M.L.X.但这样存在着一定的隐患.在变量中很有可能保存的是一个错误的值(如0和m). 针对这种情况,可以自定义枚举类型.枚举类型包括有限个命名的值.例如, enum Size{SMALL,MEDIUM,LARGE,EXTRA_LARGE}; 现在,可以声明这种类型的变量: Size s = Size.MEDIUM; Size类型的变量只能存储到这个…
一.枚举类 类的对象只有有限个,确定的.我们称此类为枚举类 如果枚举类中只有一个对象,则可以作为单例模式的实现方式. 定义枚举类 方式一:jdk5.0之前,自定义枚举类 public class SeasonTest { public static void main(String[] args) { Season spring = Season.SPRING; System.out.println(spring); } } //自定义枚举类 class Season{ //1.声明Season…
目录 前言 应用 定义 基本Enum特性 Enum的静态导入 Enum中添加新方法 Switch语句中的Enum Enum的继承 EnumSet的使用 EnumMap的使用 常量相关方法 枚举值向枚举类型转换 前言 枚举是 Java1.5 引入的新特性,通过关键字 enum 来定义枚举类. 应用 定义 关键字enum可以将一组具名的值的有限集合创建为一种新的类型,而这些具名的值可以作为常规的程序组件使用. enum WeekEnum { Monday, Tuesday, Wednesday, T…
文章目录 枚举类的使用 如何定义枚举类 方式一:jdk5.0之前,自定义枚举类 方式二:jdk5.0,可以使用enum关键字定义枚举类 Enum类的主要方法 toString() values() valueOf(String objName) 使用enum关键字定义的枚举类实现接口的情况 情况一:实现接口,在enum类中实现抽象方法 情况二:让枚举类的对象分别实现接口中的抽象方法 枚举类的使用 枚举类的理解:类的对象只有有限个,确定的.我们称此类为枚举类 当需要定义一组常量时,强烈建议使用枚举…
什么是枚举 枚举是java5中新增的特性,他是一个特殊的数据类型,他的特殊性在于他既是一种类类型,又比类类型多了安全性,简洁性,便捷性.java枚举类型是功能十分强大齐全的类,功能比其他语言中的对等物要强大的多,java的枚举类型本质上是int值. java枚举类型背后的基本想法:就是通过共有的静态final域为每个枚举常量导出实例的类,因为没有可以访问的构造器,所以枚举类型是真正的final.枚举天生是不可变的. 枚举基本实现 首先来看看我们在项目中不使用枚举声明一段int类型的常量. /**…
在大部分编程语言中,枚举类型都会是一种常用而又必不可少的数据类型,Java中当然也不会例外.然而,Java中的Enum枚举类型却有着许多你意想不到的用法,下面让我们一起来看看. 先来看一段代码示例: 从上面的代码中我们可以看到,定义完枚举值,然后在其后面加上分号,接着就可以定义其他的变量.方法了.另外需要特别说明的是,enum中的构造方法不可以用public标识,这样做是为了防止用户实例化enum. 2.可以用来定义常量 先来回顾一下Java中如何定义常量吧,看下面一段代码: 下面我们还可以用e…