public class ConstructorUtil extends Object
Constructor
构造工具类,包括获取构造类和通过构造实例化对象相关工具Constructor and Description |
---|
ConstructorUtil() |
Modifier and Type | Method and Description |
---|---|
static <T> Constructor<T> |
getConstructor(Class<T> clazz,
Class<?>... parameterTypes)
查找类中的指定参数的构造方法,如果找到构造方法,会自动设置可访问为true
|
static <T> Constructor<T>[] |
getConstructors(Class<T> beanClass)
获得一个类中所有构造列表
|
static Constructor<?>[] |
getConstructorsDirectly(Class<?> beanClass)
获得一个类中所有构造列表,直接反射获取,无缓存
|
static <T> T |
newInstance(Class<T> clazz,
Object... params)
实例化对象
|
static <T> T |
newInstance(String clazz)
实例化对象
类必须有空构造函数 |
static <T> T |
newInstanceIfPossible(Class<T> type)
尝试遍历并调用此类的所有构造方法,直到构造成功并返回
对于某些特殊的接口,按照其默认实现实例化,例如:
Map -》 HashMap
Collction -》 ArrayList
List -》 ArrayList
Set -》 HashSet
|
public static <T> Constructor<T> getConstructor(Class<T> clazz, Class<?>... parameterTypes)
T
- 对象类型clazz
- 类parameterTypes
- 参数类型,只要任何一个参数是指定参数的父类或接口或相等即可,此参数可以不传public static <T> Constructor<T>[] getConstructors(Class<T> beanClass) throws SecurityException
T
- 构造的对象类型beanClass
- 类,非null
SecurityException
- 安全检查异常public static Constructor<?>[] getConstructorsDirectly(Class<?> beanClass) throws SecurityException
beanClass
- 类SecurityException
- 安全检查异常public static <T> T newInstance(String clazz) throws HutoolException
T
- 对象类型clazz
- 类名HutoolException
- 包装各类异常public static <T> T newInstance(Class<T> clazz, Object... params) throws HutoolException
T
- 对象类型clazz
- 类params
- 构造函数参数HutoolException
- 包装各类异常public static <T> T newInstanceIfPossible(Class<T> type)
对于某些特殊的接口,按照其默认实现实例化,例如:
Map -》 HashMap Collction -》 ArrayList List -》 ArrayList Set -》 HashSet
T
- 对象类型type
- 被构造的类null
Copyright © 2025. All rights reserved.