Class下的getEnumConstants

简介: Class下的getEnumConstants

人生是一次航行。航行中必然遇到从各个方面袭来的劲风,然而每一阵风都会加快你的航速。只要你稳住航舵,即使是暴风雨,也不会使你偏离航向。 ——西·切威廉斯【美】

我们使用枚举过程中,可能会有这种需求

通过传入一个枚举的Class获取枚举里的各个常量值

其实这里有一个函数可以满足我们的需求

java.lang.Class#getEnumConstants

java.lang.Class类下有个函数getEnumConstants

我们可以这么使用

public static void main(String[] args) {
    LikeSelectTypeEnum[] values = getEnumValues(LikeSelectTypeEnum.class);
    Arrays.stream(values).forEach(System.out::println);
}
/**
 * 通过class获取枚举内的常量
 *
 * @param type 枚举对应的class
 * @return T[] 常量数组
 * @author <achao1441470436@gmail.com>
 * @since 2021/5/13 0013 15:50
 */
public static <T> T[] getEnumValues(Class<T> type) {
    if (type == null) {
        return null;
    }
    return type.getEnumConstants();
}

输出结果

相关文章
|
7月前
with class of same name
with class of same name
27 0
|
7月前
Class 的讲解
Class 的讲解
166 1
class CSplitterWnd :public CSplitterWnd
class CSplitterWnd :public CSplitterWnd
73 0
DHL
|
JSON 安全 算法
value class 完全代替 typealias?
这篇文章将会从 类型安全 、 占用内存 、执行效率 、使用场景 这几个角度来分析 value class ,通过这篇文章,你将学习到以下内容。
DHL
209 0
value class 完全代替 typealias?
|
JavaScript 程序员
Class-总结class的基本用法和两个注意点
一、注意点一:class关键字区间使用 二、注意点二:Class关键字内部函数
|
Apache
class7
搭建lamp
191 0
|
关系型数据库 MySQL Linux
class6
快速搭建LAMP坏境
337 0
class4
安装putty工具远程连接ECS服务器
197 0