java|java 枚举类中的valueOf用法说明
目录
- 枚举类中的valueOf用法
- 先创建一个BasicEnum的接口
- 创建一个枚举类实现BasicEnum接口
- 枚举类valueOf方法的疑问
枚举类中的valueOf用法 前言:今天遇到了一个枚举类的valueOf用法,遇到了一点问题,这里特例写一个demo来测试一下
先创建一个BasicEnum的接口
/** * @Author 徐志 * @date 2020/9/4 12:42 **/public interface BasicEnum{/*** get name** @return*/L getName(); /*** get value** @return*/V getValue(); }
创建一个枚举类实现BasicEnum接口
添加name和value属性
/** * @Author 徐志 * @date 2020/9/4 12:38 **/public enum Color implements BasicEnum{RED("a",0),GREEN("b",1),BLUE("c",2); private final String name; private final Integer value; Color(String name, Integer value) {this.name = name; this.value = https://www.it610.com/article/value; }public String getName() {return this.name; }public Integer getValue() {return this.value; }}
方式一:调用valueOf
/** * @Author 徐志 * @date 2020/9/4 12:46 **/public class TestEnum {@Testpublic void test(){System.out.println(Color.valueOf("RED").getValue()); }}
【java|java 枚举类中的valueOf用法说明】
文章图片
方式二:调用valueOf
/** * @Author 徐志 * @date 2020/9/4 12:46 **/public class TestEnum {@Testpublic void test(){System.out.println(Color.valueOf("a").getValue()); }}
文章图片
比较上面两种调用valueOf的方法。发现通过name属性调用会报错。
显示参数异常,查看枚举类的源码,找到valueOf方法
文章图片
发现确实是根据枚举类的内容来调用valueOf方法,如果想使用name属性来实现valueOf的调用,我们需要重写这个valueOf方法
枚举类valueOf方法的疑问 枚举类中valueOf方法只有一个参数
而Enum类中有两个参数,请问Enum实例类中的valueOf方法是从何处继承而来?
答案:jvm进行编译的时候添加的
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
推荐阅读
- JAVA(抽象类与接口的区别&重载与重写&内存泄漏)
- 为什么你的路演总会超时()
- 标签、语法规范、内联框架、超链接、CSS的编写位置、CSS语法、开发工具、块和内联、常用选择器、后代元素选择器、伪类、伪元素。
- 事件代理
- Java|Java OpenCV图像处理之SIFT角点检测详解
- java中如何实现重建二叉树
- thinkphp|thinkphp 3.2 如何调用第三方类库
- 使用composer自动加载类文件
- 一个健康的APP和健全的人格大体类似
- 数组常用方法一