- 浏览: 279416 次
- 性别:
文章分类
最新评论
public interface EnumTypeInterface { int ordinal(); String desc(); }
public enum InfoType implements EnumTypeInterface { DOWNLOAD_INFO("下载信息"), TASTE_AND_PURCHASE_INFO("试用&购买信息"); private final String desc; InfoType(String desc) { this.desc = desc; } @Override public String desc() { return this.desc; } }
@Api(description = EnumsController.DESC) @RestController @RequestMapping("/enums") public class EnumsController { public static final String DESC = "类型参数"; public static final String enumPkg = "api.xxx.com.xxxapp.enumeration"; @ApiOperation(DESC+"列表") @GetMapping("/{typeName}") public List<HashMap<String, Object>> getEnumList(@PathVariable EnumTypes typeName) { Class<Enum> enumClass; try { enumClass = (Class<Enum>)Class.forName(String.join(".", enumPkg, typeName.toString())); Method values = enumClass.getMethod("values"); EnumTypeInterface[] interfaces = (EnumTypeInterface[])values.invoke(null); return Arrays.stream(interfaces).map(enumMsg -> { HashMap<String, Object> map = Maps.newHashMap(); map.put("value", enumMsg.ordinal()); map.put("name", enumMsg.toString()); map.put("desc", enumMsg.desc()); return map; }).sorted(Comparator.comparing(t -> (Integer) t.get("value"))) .collect(Collectors.toList()); } catch (Exception e) { e.printStackTrace(); throw new QcNotFoundException(DESC,typeName); } } }
发表评论
-
java uitls
2018-12-21 17:24 580/** * MongoDB通过请求参数查询 * @ ... -
java基础
2018-09-21 16:44 492https://www.cnblogs.com/think90 ... -
IDEA javaWeb to maven
2018-09-19 11:42 574如何将Eclipse的javaWeb项目改为IDEA的mave ... -
idea导入普通javaweb项目
2018-09-14 17:25 1432IDEA中添加普通web项目 -
ServletRequest API
2018-09-05 12:07 584return String.join("\\n& ... -
ObjectMapper使用
2018-07-24 11:20 1602https://stackoverflow.com/quest ... -
正则表达式RegExp
2018-07-17 18:03 670https://developer.mozilla.org/z ... -
Date2LocalDate
2018-06-29 16:34 636public class DateUtils { ... -
java枚举
2018-05-31 18:19 414https://codereview.stackexchang ... -
Jedis
2018-05-23 15:35 626https://blog.csdn.net/qq_353628 ... -
N进制与10进制相互转换
2018-05-23 14:47 35public class ShareCodeUtil { ... -
RC4实现收集二例(Complete)
2018-05-22 03:51 36import java.io.UnsupportedEnc ... -
RC4实现收集二例(Simple)
2018-05-22 03:49 26public class RC4 { pub ... -
getStackTrace
2018-03-22 15:09 689private String getStackTrace( ... -
java8 parse CST time string
2018-02-27 11:57 749String timeStr = "Sun F ... -
java泛型方法
2018-01-05 10:22 481public class MyTest { @T ... -
java8 Function可用于getter上,方便
2018-01-05 10:01 1104public class MyTest { ... -
java泛型
2018-01-04 18:00 493Java泛型:泛型类、泛型接口和泛型方法 Java中的泛型方法 ... -
jetty显示目录结构问题
2018-01-04 10:45 1023https://stackoverflow.com/quest ... -
ReflectionToStringBuilder 打印对象展现值
2017-12-07 20:36 560import org.apache.commons.lang. ...
相关推荐
1. **获取枚举类**:要通过反射获取枚举类,首先需要得到其Class对象。这可以通过`Class.forName()`方法完成,提供枚举类的全限定名作为参数。 ```java Class<Color> colorClass = (Class) Class.forName(...
Java枚举类型(Enum)是Java SE 5.0引入的一种新的数据类型,它为开发者提供了更为强大且安全的方式来表示一组常量。枚举在Java中不仅是一个类,还是一种特殊的类型,允许我们定义自己的常量集合。接下来,我们将...
Java反射是Java语言提供的一种强大的机制,它允许我们在运行时检查和操作类、接口、字段和方法等。本文将深入剖析Java反射的概念及其在实际开发中的应用。 首先,我们需要了解,反射的核心在于`java.lang.Class`类...
通过8个demo,你可以逐步深入理解Java反射机制,从简单的获取类信息,到创建对象,调用方法,访问字段,再到处理注解和泛型,全方位掌握这一强大的工具。每个demo都应该设计为解决一个特定的问题,例如如何动态调用...
通过反射,可以获取枚举的常量信息,如: ```java Field[] fields = Shape.class.getFields(); for (Field field : fields) { if (field.isEnumConstant()) { System.out.println(field.getName()); } } ``` 这将...
`java.lang.Class`类是反射的起点,我们可以通过以下三种方式获取`Class`对象: 1. 对象的`getClass()`方法。 2. 类的`.class`静态属性。 3. `Class.forName()`静态方法,通常用于加载类。 使用反射,我们可以: ...
Java反射是Java编程语言中的一个强大工具,它允许运行中的Java程序对自身进行检查并且可以直接操作程序的内部属性。在Java 8中,虽然没有引入重大的反射新特性,但原有的反射API仍然提供了丰富的功能,使得开发者...
可以通过反射获取枚举的全部信息,包括它的所有实例、方法、字段等。 10. **枚举与序列化** 枚举默认支持序列化,但一般不推荐将枚举实例作为序列化的主要数据对象,因为它们是固定不变的。 11. **枚举与枚举...
Java 枚举(enum)是 Java 语言中的一个重要特性,自 Java 5 开始引入。枚举用于定义一组相关的常量,这些常量通常代表一个有限的、预定义的值集合。枚举类是一种特殊的类,它具有以下特点: 1. **枚举类的声明**:...
Java反射的核心在于`java.lang.Class`类,它代表了类的信息,通过反射可以获取到类的所有属性、方法、构造器等。例如,以下代码展示了如何使用反射判断一个对象所属的类: ```java A a = new A(); if (a.getClass()...
本篇将介绍如何在Java中使用枚举(Enum)、泛型、反射以及整合JDBC的基本步骤。 一、枚举(Enum) 枚举在Java中是一种特殊的类,用于定义一组预定义的常量。在JDBC操作中,枚举可以用来表示数据库中的状态或者类型...
Java中的枚举(enum)类型是在JDK 1.5版本引入的一种强大的特性,它用于定义一组相关的常量。在C/C++等早期语言中,枚举通常是一种基本的数据类型,而在Java中,枚举是一种类,具有更多的功能和灵活性。 1. **什么...
以下是对标题和描述中提及的Java反射知识点的详细解释: 1. **获取对象的属性**: 在Java中,通过反射可以获取对象的属性。在示例代码中,`getProperty`方法展示了如何做到这一点。首先,通过`owner.getClass()`...
这种动态获取的信息以及动态调⽤对象的⽅法的功能称为 Java 语⾔的反射机制。 一、反射基础 在 Java 中,反射机制是通过 Class 类实现的。Class 类是 java.lang 包中的一个类,存在于 JDK 中。Class 类的实例表示 ...
Java反射是Java编程语言中的一个重要特性,它允许程序在运行时动态地获取类的信息并进行操作,如创建对象、调用方法、访问属性等。在本文中,我们将深入理解Java反射的概念,掌握其核心实现,并探讨它在实际开发中的...
可以将enum的名称作为String传递,然后在接收端通过反射机制创建对应的enum实例。 ```java public enum MyEnum { VALUE1("value1"), VALUE2("value2"); private String name; MyEnum(String name) { this....
在Java编程语言中,`enum`(枚举)是一种特殊的类,用于定义一组预定义的常量。枚举类型在Java中被广泛使用,特别是在需要表示有限数量的固定值时,如一周的天数、颜色、状态等。以下是关于Java中`enum`的详细用法:...
Java反射是Java语言提供的一种强大的能力,允许程序在运行时检查和操作类、接口、对象等的内部结构。`getClass()`函数是Java反射的核心组成部分,它位于`java.lang.Object`类中,是所有Java对象的公共方法。通过`...
Java中的反射机制是Java语言提供的一种强大的工具,它允许运行中的Java程序对自身进行检查并且可以直接操作程序的...通过理解并熟练掌握Java反射机制,开发者可以更好地利用Java的动态性,提高代码的可扩展性和维护性。