假设给出了以下定义:
final Supplier<MyClass> supplier = MyClass::new;
有没有办法在MyClass.class
不实际调用.get()
供应商的情况下获得?
为什么?我必须知道指定的类才能做出一些合乎逻辑的决定。基于此,我可能需要找到另一个MyClass
具有参数的构造函数,并且我对目标类的唯一了解是这种类型的提供者。当然,我可以调用.get()
并从那里开始,如下所示:
final MyClass obj = supplier.get().getClass().getConstructor(MyParameter.class).newInstance(..);
但是在执行我的中间步骤之前使用它可能会导致不必要的对象创建