`

java 枚举values()方法

    博客分类:
  • java
 
阅读更多
      工作中,同事在枚举类中用到了values()方法,自己没用过,又点不进去,看不到api,于是做了下测试,也百度了下,才明白咋回事,demo如下


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()方法的源码了。
文档描述:





  • 大小: 68.5 KB
分享到:
评论

相关推荐

    java 中枚举类enum的values()方法的详解

    Java 中枚举类 enum 的 values() 方法详解 Java 中的枚举类 enum 是一种特殊的类,通过使用 enum 关键字来定义。枚举类 enum 中有一个特殊的方法,values(),这个方法可以将枚举类转换为一个枚举类型的数组。通过...

    Java枚举类型Enum的用法

    接下来,我们将深入探讨Java枚举类型的使用方法及其相关知识点。 1. **枚举的声明与初始化** 枚举类型的声明方式类似于类,但以`enum`关键字开头。例如: ```java enum Color { RED, GREEN, BLUE } ``` 这里...

    简单总结java枚举类型

    Java枚举类型是Java语言中一种特殊的类,用于定义固定的常量集合,它提供了一种安全、类型化的方式来表示一组有限的值。枚举在Java中被引入为一个完整的类型,不同于C++中的枚举,这使得Java枚举更加强大且易于使用...

    java枚举类用法

    通过上述介绍,我们了解到Java枚举类的多种用法,包括声明、初始化、方法定义、构造器、转换为集合、遍历、比较、在switch语句中的应用以及序列化等。枚举类不仅提高了代码的可读性和安全性,还简化了常量管理,使得...

    理解java枚举类型

    Java枚举类型是Java语言中的一种特殊的类,用于定义一组固定的常量集合。它在Java中扮演着重要的角色,提供了一种安全、类型化的常量表示方式,比传统的final static变量更具有优势。理解Java枚举类型对于编写高质量...

    深入理解 Java 枚举(枚举的方法+枚举的特性+枚举可以实现接口+组织枚举+策略枚举+枚举工具类等)

    枚举的本质是 java.lang.Enum 的子类,它提供了一些基本方法,如 values()、name()、ordinal()、getDeclaringClass()、equals() 等。 枚举的特性: 1. 枚举的本质是 java.lang.Enum 的子类。 2. 枚举是一种特殊的...

    高阶Java-Java枚举类型 enum 应用详解

    本篇文章将深入探讨Java枚举的特性、用法以及如何在实际开发中充分利用它们。 一、枚举的基本用法 1. 声明枚举类型: ```java public enum Color { RED, GREEN, BLUE } ``` 在这里,`Color`是枚举类型,`RED`, `...

    java枚举的一个实例

    Java枚举是编程语言Java中的一个特色特性,它在类、接口和变量的定义中扮演着特殊的角色。枚举在Java中被用作一种数据类型,用于定义一组固定的常量,这些常量可以代表特定的值或状态。通过枚举,我们可以确保变量...

    列举java 枚举相关信息

    ### Java 枚举类型详解 #### 一、引言 ...通过以上的介绍,我们可以看到Java枚举类型不仅提供了类型安全的保障,还为开发者带来了极大的灵活性。合理地使用枚举类型,可以显著提高代码的质量和可维护性。

    JAVA枚举JAVA枚举.doc

    3. **枚举集合**:可以通过 `values()` 方法获取枚举类型的枚举值数组,方便遍历和处理所有枚举实例。 4. **方法和字段**:枚举类型可以拥有自己的方法和字段,可以扩展功能,比如在上面的 `Color` 枚举中添加获取...

    Java面试枚举从使用到原理

    本篇文章将深入探讨Java枚举的使用及其背后的原理。 一、枚举的定义与使用 1. 基本用法: 在Java中,枚举可以通过`enum`关键字来创建。例如,我们可以定义一个表示一周七天的枚举类型: ```java public enum ...

    JAVA枚举类型的用法详解

    总结起来,Java枚举类型提供了丰富的功能,包括但不限于定义常量、属性、方法,以及实现抽象方法。这种类型使得代码更加规范,提高了代码的可读性和可维护性,减少了错误的可能性。在处理一组固定不变的值时,使用...

    谈谈你可能并不了解的java枚举

    Java枚举类默认继承自`java.lang.Enum`,这意味着它们拥有`Enum`类提供的所有方法,如`values()`(返回所有枚举实例的数组)、`name()`(返回枚举常量的名称)和`ordinal()`(返回枚举常量的顺序索引,即默认值)。...

    Java中的“枚举类型

    - **枚举**:提供了诸如`values()`等内置方法,可以直接获取所有枚举元素数组。 - **`static final`字段**:需要手动编写方法来获取所有的常量值。 **4. 隐式特性** - **枚举**:每个枚举元素都是`static final`...

    java enum 枚举 学习资料

    values() 方法是枚举类中的一个静态方法,它返回一个该枚举类的数组,其中数组的元素即为该枚举类中元素列表中的元素。 7. ordinal() 方法 ordinal() 方法是枚举类中的一个实例方法,它返回枚举元素实例中元素列表...

    java 枚举类总结

    1. **`values()` 方法**:返回该枚举类型的数组,包含所有枚举常量。 ```java Direction[] directions = Direction.values(); for (Direction d : directions) { System.out.println(d); } ``` 2. **`ordinal...

    Java枚举使用方法详解

    以下是对Java枚举使用方法的详细说明: 1. **普通枚举** 在Java中,创建一个枚举非常简单,只需要定义一个类并将其声明为`enum`即可。例如,`ColorEnum`枚举定义了四种颜色:red, green, yellow和blue。你可以通过...

    java枚举的一个例子

    ### Java枚举详解 在Java编程语言中,枚举(`enum`)是一种特殊的类,用于定义一组固定的常量值。这些常量值通常代表了一组预定义的选项或者状态,比如颜色、方向等。使用枚举可以提高代码的可读性和可维护性,并且...

    Java 枚举类型案例.zip

    在本压缩包中,"Java 枚举类型案例"可能包含了多个示例,以帮助我们深入理解Java枚举类型的使用。 1. **枚举的定义** 在Java中,枚举是通过关键字`enum`来定义的。例如,创建一个表示星期的枚举类型: ```java ...

Global site tag (gtag.js) - Google Analytics