java通过函数接口方法签名获取类构造函数
我知道我可以使用构造函数引用作为hihger order方法的参数,如下所示:
collection.stream().map(MyClass::new);
但是我有MyClass
作为变量Class<MyClass> clazz = MyClass.class
。
我能用它把构造函数引用传递给.map(Function)
方法吗?
我想做这样的事,有办法吗
Class<MyClass> clazz = MyClass.class;
collection.stream().map(clazz.getConstructor())
# 1 楼答案
标准免责声明:使用反射几乎总是一个坏主意
最好选择标准的抽象工厂或类似工厂
然而,
MethodHandle
将以最小的开销(我认为)构造所需的Function
objct。如果每次都查找fn
,则会有开销异常处理被省略