-
- 类型参数:
T
- 构建对象的数据类型
public interface Creator<T>
实现一个类的构造方法。 代替低效的反射实现方式。 不支持数组类。 常见的无参数的构造函数类都可以自动生成Creator, 对应自定义的类可以提供一个静态构建Creator方法。 例如:public class Record { private final int id; private String name; Record(int id, String name) { this.id = id; this.name = name; } private static Creator createCreator() { return new Creator<Record>() { @Override @ConstructorParameters({"id", "name"}) public Record create(Object... params) { if(params[0] == null) params[0] = 0; return new Record((Integer) params[0], (String) params[1]); } }; } }
public class Record { private final int id; private String name; @ConstructorParameters({"id", "name"}) public Record(int id, String name) { this.id = id; this.name = name; } }
详情见: https://redkale.org
- 作者:
- zhangjx
-
-
方法概要
所有方法 静态方法 实例方法 抽象方法 默认方法 修饰符和类型 方法 说明 static <T> Creator<T>
create(Class<T> clazz)
根据指定的class采用ASM技术生产Creator。T
create(Object... params)
创建对象static <T> Creator
create(Function<Object[],T> func)
根据Function生产Creatorstatic <T> Creator<T>
create(Supplier<T> supplier)
根据Supplier生产Creatorstatic <T> IntFunction<T[]>
funcArray(Class<T> type)
创建指定类型对象数组的IntFunctionstatic IntFunction<String[]>
funcStringArray()
static <T> Creator<T>
load(Class<T> clazz)
static <T> T[]
newArray(Class<T> type, int size)
创建指定大小的对象数组default Class[]
paramTypes()
参数类型数组static <T> Creator<T>
register(Class<T> clazz, Supplier<T> supplier)
static <T> Creator<T>
register(LambdaSupplier<T> supplier)
-
-
-
方法详细资料
-
paramTypes
default Class[] paramTypes()
参数类型数组- 返回:
- 参数类型数组
- 从以下版本开始:
- 2.8.0
-
funcArray
static <T> IntFunction<T[]> funcArray(Class<T> type)
创建指定类型对象数组的IntFunction- 类型参数:
T
- 泛型- 参数:
type
- 类型- 返回:
- IntFunction
-
funcStringArray
static IntFunction<String[]> funcStringArray()
-
register
static <T> Creator<T> register(LambdaSupplier<T> supplier)
-
newArray
static <T> T[] newArray(Class<T> type, int size)
创建指定大小的对象数组- 类型参数:
T
- 泛型- 参数:
type
- 类型size
- 数组大小- 返回:
- 数组
-
create
static <T> Creator<T> create(Supplier<T> supplier)
根据Supplier生产Creator- 类型参数:
T
- 构建类的数据类型- 参数:
supplier
- Supplier- 返回:
- Creator对象
-
create
static <T> Creator create(Function<Object[],T> func)
根据Function生产Creator- 类型参数:
T
- 构建类的数据类型- 参数:
func
- Function- 返回:
- Creator对象
-
-