gpt4 book ai didi

java - 使用对象的类通过反射构造对象

转载 作者:行者123 更新时间:2023-12-01 05:29:48 25 4
gpt4 key购买 nike

假设代码如下:

public interface Component<T>
{
}
public class ConcreteComponent<T> implements Component<T>
{
}

你会如何解决这样的编译问题:

@Override
public Class<? extends Component<?>> getComponentClass() {
// Does not compile!
return ConcreteComponent.class;
}

基本上,正如您所看到的,我希望能够使用组件的类通过反射构造对象。省略细节,方法的声明可能如下所示:

public <T extends Component<?>> void createComponent(Class<? extends T> clazz)
{
}

最后:

ConcreteComponent<Integer> cmp = createComponent(getComponentClass());

如有任何帮助,我们将不胜感激!

最佳答案

编译:

public Class<? extends Component> getComponent() {
// Compiles!
return ConcreteComponent.class;
}

关于java - 使用对象的类通过反射构造对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9159731/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com