枚举中valueOf方法的实现

作者: 橙小张 | 来源:发表于2017-07-13 11:40 被阅读45次
  • 例子:
image.png
  • 枚举类中包含两个枚举元素:PUBLIC, PRIVATE
  • 在main方法中调用valueOf方法,结果分别是true,true,false

源码解析

  • 主体思路:是将枚举的元素通过反射(method)转化为一个key和value都是枚举元素的HashMap<String, T>,例如上面案例中的HashMap的数据为:
image.png
  • valueOf方法调用enumType.enumConstantDirectory()方法
    image.png
  • 调用Class类的getEnumConstantsShared方法

    image.png
  • 先通过个getMehotd方法获取到Method

  • 然后调用invoke方法获取到PUBLICPRIVATE

image.png

总结:

相关文章

  • 枚举中valueOf方法的实现

    例子: 枚举类中包含两个枚举元素:PUBLIC, PRIVATE 在main方法中调用valueOf方法,结果分别...

  • 枚举

    定义枚举类 可以在枚举中定义普通方法和抽象方法. 也同样可在枚举类中定义属性,构造方法. 实现原理 Java文件在...

  • java自动拆装箱

    一、自动拆装箱 自动装箱过程就是通过调用valueOf方法实现(如:Integer.valueOf(10)),而拆...

  • toString()方法详解

    在类型转换中,经常用到方法valueOf()和toString(),上一篇讲了valueOf()方法,这一篇来说说...

  • Java enum常见的用法

    一,常量定义 二,swich 三,向枚举添加新方法 四,覆盖枚举方法 五,实现接口 六,接口组织枚举 七,枚举集合...

  • <转> 通过枚举 enum 来实现单例模式

    转自:通过枚举 enum 来实现单例模式 枚举 通过enum关键字来实现枚举,在枚举中需要注意的有: 枚举中的属性...

  • 读 effective java 中文版第二版读后感(第一天)

    第一条 考虑使用静态工厂代替构造器java中的Boolean.valueOf()方法例一 它通过首先去定义和实现好...

  • Java笔试题解-枚举类型(2)

    1: A.枚举类型也可以实现一个或多个接口 B.枚举类型实现接口时也要实现该接口中全部方法 C.枚举类型里定义抽象...

  • Java基础15:深入剖析Java枚举类

    本文介绍了枚举类的基本概念,使用方法,以及底层实现原理。帮助你更好地使用枚举类并且理解枚举类的内部实现细节。 具体...

  • Kotlin 枚举类

    枚举类最基本的用法是实现一个类型安全的枚举。枚举常量用逗号分隔,每个枚举常量都是一个对象。 相关属性、方法 枚举类...

网友评论

    本文标题:枚举中valueOf方法的实现

    本文链接:https://www.haomeiwen.com/subject/eorwhxtx.html