你了解Java中那些鲜为人知的枚举特性吗?
- 内容介绍
- 文章标签
- 相关推荐
本文共计3383个文字,预计阅读时间需要14分钟。
前言:在Java中,也经常算是个老生常谈的话题了。每当遇到一组需要类表示的数据时,我们都会自然而然地使用枚举类型:`public enum Color { RED, GREEN, BLUE, YELLOW; } public static void main(String[] args) { ... }`
前言
枚举在java里也算个老生长谈的内容了,每当遇到一组需要类举的数据时我们都会自然而然地使用枚举类型:
public enum Color { RED, GREEN, BLUE, YELLOW; public static void main(String[] args) { Color red = Color.RED; Color redAnother = Color.RED; Color blue = Color.BLUE; System.out.println(red.equals(redAnother)); // true System.out.println(red.equals(blue)); // false } }
当然今天我们要探讨的并非是java中enum的基础语法,本次的主题将会深入enum的本质,并探讨部分高阶用法。本文基于Oracle JDK 14.0.2和jad v1.5.8e(由于jad已经很久未进行更新,对于新版本的jdk支持不是很完善,但单纯分析enum和interface已经足够)。
自定义枚举值背后的秘密
枚举默认的值是从0开始递增的数值,通常来说这完全够用了。
本文共计3383个文字,预计阅读时间需要14分钟。
前言:在Java中,也经常算是个老生常谈的话题了。每当遇到一组需要类表示的数据时,我们都会自然而然地使用枚举类型:`public enum Color { RED, GREEN, BLUE, YELLOW; } public static void main(String[] args) { ... }`
前言
枚举在java里也算个老生长谈的内容了,每当遇到一组需要类举的数据时我们都会自然而然地使用枚举类型:
public enum Color { RED, GREEN, BLUE, YELLOW; public static void main(String[] args) { Color red = Color.RED; Color redAnother = Color.RED; Color blue = Color.BLUE; System.out.println(red.equals(redAnother)); // true System.out.println(red.equals(blue)); // false } }
当然今天我们要探讨的并非是java中enum的基础语法,本次的主题将会深入enum的本质,并探讨部分高阶用法。本文基于Oracle JDK 14.0.2和jad v1.5.8e(由于jad已经很久未进行更新,对于新版本的jdk支持不是很完善,但单纯分析enum和interface已经足够)。
自定义枚举值背后的秘密
枚举默认的值是从0开始递增的数值,通常来说这完全够用了。

