- 浏览: 91874 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (148)
- 全文检索 (1)
- java (29)
- xml (2)
- json (2)
- redis springmvc (1)
- Redis (5)
- 开发常识 (1)
- tomcat (2)
- 单元测试Junit (2)
- 设计模式 (2)
- spring (10)
- jvm (2)
- eclipse (4)
- echart (1)
- mybatis (1)
- mysql (3)
- web (1)
- js (2)
- PL/SQL (2)
- 其他 (1)
- 人生 (1)
- 安全 (2)
- jsp (2)
- 硬件电脑 (1)
- linux (3)
- git (10)
- oracle (8)
- ant (1)
- maven (2)
- 正则表达式 (2)
- chrome (1)
- 面试 (6)
- 多线程 (19)
- bug (11)
- java工具类 (3)
- 算法 (1)
- bug,git (1)
- shell (2)
- springmvc (2)
- Java8 (1)
- 消息队列-rocketmq (1)
- es (1)
- dubbo (0)
- spring cloud (0)
- hashmap (0)
- springboot (1)
- velocity (0)
工作中,同事在枚举类中用到了values()方法,自己没用过,又点不进去,看不到api,于是做了下测试,也百度了下,才明白咋回事,demo如下
执行结果如下:
3
A 1 苹果
B 2 香蕉
ALL 3 全部
参考下该文章后:
https://blog.csdn.net/u013469218/article/details/66476182
引用:
最直接的方法就是查阅JDK的文档了,Oracle在线文档的地址在这里:
http://docs.oracle.com/javase/tutorial/java/javaOO/enum.html
从阅读文档得知,Java编译器会自动在enum类型中插入一些方法,其中就包括values()——所以我们的程序在没编译的时候,自然没法查看values()方法的源码了。
文档描述:
package test; import com.google.common.collect.Maps; import java.util.Map; /** * */ public enum TestEnum { A(1, "苹果"), // B(2, "香蕉"), // ALL(3, "全部"); // private int code; private String desc; private static final Map<Integer, TestEnum> MAP = Maps.newHashMapWithExpectedSize(values().length); static { for (TestEnum applyTypeEnum : TestEnum.values()) { MAP.put(applyTypeEnum.getCode(), applyTypeEnum); } } public static TestEnum get(int code) { return MAP.get(code); } TestEnum(int code, String desc) { this.code = code; this.desc = desc; } public int getCode() { return code; } public String getDesc() { return desc; } public static void main(String[] args) { System.out.println(values().length); TestEnum[] values = values(); for (TestEnum value : values) { System.out.println(value+" "+value.code+" " +value.desc); } } }
执行结果如下:
3
A 1 苹果
B 2 香蕉
ALL 3 全部
参考下该文章后:
https://blog.csdn.net/u013469218/article/details/66476182
引用:
最直接的方法就是查阅JDK的文档了,Oracle在线文档的地址在这里:
http://docs.oracle.com/javase/tutorial/java/javaOO/enum.html
从阅读文档得知,Java编译器会自动在enum类型中插入一些方法,其中就包括values()——所以我们的程序在没编译的时候,自然没法查看values()方法的源码了。
文档描述:
发表评论
-
linux 文件 dos unix格式,unix和dos下文本文件得区别
2023-09-06 23:23 159问题: 当在window ... -
newHashMapWithExpectedSize
2019-07-30 19:45 1285newHashMapWithExpectedSize VS ... -
java 8 stream应用
2019-07-15 11:43 01.生成map List<BusinessFacili ... -
技术知识点汇总
2019-02-12 15:47 01. LTS(light-task-scheduler) ... -
架构演进
2018-12-21 00:54 371一传统垂直mvc项目 垂直架构图:表示层->业务逻辑层- ... -
集群中session共享
2018-12-20 23:25 0当项目演进时,一个节点出错,如何保证域名能访问到别的节点。 一 ... -
父类子类静态代码块执行
2018-08-22 15:23 0先看一个基础面试题: package com.jbx.te ... -
数组元素的初始化
2018-07-10 17:16 494直接上代码 ,char的初始化值是'\u0000' p ... -
统计一个字符串中每个字符串出现的次数
2018-07-03 17:43 602经常遇到这个问题:总结一下 思路和代码 import ja ... -
DateUtil
2018-03-15 20:53 496记录一下常用的工具类,方便使用的时候可以获取。 pack ... -
indexOf判断一个字符串是否包含另一个字符串
2018-02-26 08:58 512jdk中的表述如下 indexOf public int in ... -
eclipse 添加反编译
2018-01-25 08:57 322为eclipse中*.clsas/*.class withou ... -
Java读取配置文件
2018-01-24 16:00 313Java读取配置文件test.properties 文件tes ... -
HTTP请求头
2017-12-29 16:49 0Request Headers 当访问一个action时,在谷 ... -
阿里巴巴Java开发手册(终极版)
2017-11-13 16:37 486前言 《阿里巴巴 Java 开发手册》是阿里巴巴集团技术团队 ... -
JavaEE 基础实用教程(二)------Jsp应用基础
2017-11-03 17:22 659习题 1.画出HTML文件的基 ... -
JavaEE 基础实用教程(一)---简述
2017-11-03 14:55 594第一部分 实用教程 第 ... -
实现普通用户登录
2017-11-03 11:09 0页面元素: 用户名,密码,验证码,登录 1.创建登录页 ... -
Java容器-- 99集
2017-10-26 14:21 0API接口 Collection Set List H ... -
自己编写一个Map
2017-10-25 15:34 559在爱酷学习网上学习Java视频,其中有一个自己实现map的功能 ...
相关推荐
Java 中枚举类 enum 的 values() 方法详解 Java 中的枚举类 enum 是一种特殊的类,通过使用 enum 关键字来定义。枚举类 enum 中有一个特殊的方法,values(),这个方法可以将枚举类转换为一个枚举类型的数组。通过...
接下来,我们将深入探讨Java枚举类型的使用方法及其相关知识点。 1. **枚举的声明与初始化** 枚举类型的声明方式类似于类,但以`enum`关键字开头。例如: ```java enum Color { RED, GREEN, BLUE } ``` 这里...
Java枚举类型是Java语言中一种特殊的类,用于定义固定的常量集合,它提供了一种安全、类型化的方式来表示一组有限的值。枚举在Java中被引入为一个完整的类型,不同于C++中的枚举,这使得Java枚举更加强大且易于使用...
通过上述介绍,我们了解到Java枚举类的多种用法,包括声明、初始化、方法定义、构造器、转换为集合、遍历、比较、在switch语句中的应用以及序列化等。枚举类不仅提高了代码的可读性和安全性,还简化了常量管理,使得...
Java枚举类型是Java语言中的一种特殊的类,用于定义一组固定的常量集合。它在Java中扮演着重要的角色,提供了一种安全、类型化的常量表示方式,比传统的final static变量更具有优势。理解Java枚举类型对于编写高质量...
枚举的本质是 java.lang.Enum 的子类,它提供了一些基本方法,如 values()、name()、ordinal()、getDeclaringClass()、equals() 等。 枚举的特性: 1. 枚举的本质是 java.lang.Enum 的子类。 2. 枚举是一种特殊的...
本篇文章将深入探讨Java枚举的特性、用法以及如何在实际开发中充分利用它们。 一、枚举的基本用法 1. 声明枚举类型: ```java public enum Color { RED, GREEN, BLUE } ``` 在这里,`Color`是枚举类型,`RED`, `...
Java枚举是编程语言Java中的一个特色特性,它在类、接口和变量的定义中扮演着特殊的角色。枚举在Java中被用作一种数据类型,用于定义一组固定的常量,这些常量可以代表特定的值或状态。通过枚举,我们可以确保变量...
### Java 枚举类型详解 #### 一、引言 ...通过以上的介绍,我们可以看到Java枚举类型不仅提供了类型安全的保障,还为开发者带来了极大的灵活性。合理地使用枚举类型,可以显著提高代码的质量和可维护性。
3. **枚举集合**:可以通过 `values()` 方法获取枚举类型的枚举值数组,方便遍历和处理所有枚举实例。 4. **方法和字段**:枚举类型可以拥有自己的方法和字段,可以扩展功能,比如在上面的 `Color` 枚举中添加获取...
本篇文章将深入探讨Java枚举的使用及其背后的原理。 一、枚举的定义与使用 1. 基本用法: 在Java中,枚举可以通过`enum`关键字来创建。例如,我们可以定义一个表示一周七天的枚举类型: ```java public enum ...
总结起来,Java枚举类型提供了丰富的功能,包括但不限于定义常量、属性、方法,以及实现抽象方法。这种类型使得代码更加规范,提高了代码的可读性和可维护性,减少了错误的可能性。在处理一组固定不变的值时,使用...
Java枚举类默认继承自`java.lang.Enum`,这意味着它们拥有`Enum`类提供的所有方法,如`values()`(返回所有枚举实例的数组)、`name()`(返回枚举常量的名称)和`ordinal()`(返回枚举常量的顺序索引,即默认值)。...
- **枚举**:提供了诸如`values()`等内置方法,可以直接获取所有枚举元素数组。 - **`static final`字段**:需要手动编写方法来获取所有的常量值。 **4. 隐式特性** - **枚举**:每个枚举元素都是`static final`...
values() 方法是枚举类中的一个静态方法,它返回一个该枚举类的数组,其中数组的元素即为该枚举类中元素列表中的元素。 7. ordinal() 方法 ordinal() 方法是枚举类中的一个实例方法,它返回枚举元素实例中元素列表...
1. **`values()` 方法**:返回该枚举类型的数组,包含所有枚举常量。 ```java Direction[] directions = Direction.values(); for (Direction d : directions) { System.out.println(d); } ``` 2. **`ordinal...
以下是对Java枚举使用方法的详细说明: 1. **普通枚举** 在Java中,创建一个枚举非常简单,只需要定义一个类并将其声明为`enum`即可。例如,`ColorEnum`枚举定义了四种颜色:red, green, yellow和blue。你可以通过...
### Java枚举详解 在Java编程语言中,枚举(`enum`)是一种特殊的类,用于定义一组固定的常量值。这些常量值通常代表了一组预定义的选项或者状态,比如颜色、方向等。使用枚举可以提高代码的可读性和可维护性,并且...
在本压缩包中,"Java 枚举类型案例"可能包含了多个示例,以帮助我们深入理解Java枚举类型的使用。 1. **枚举的定义** 在Java中,枚举是通过关键字`enum`来定义的。例如,创建一个表示星期的枚举类型: ```java ...