gpt4 book ai didi

来自类对象的 Java 参数化类型

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

假设我有一个名为 Foo 的类,具有泛型类型。

public class Foo<T> { ...

我还有另一个名为 Foo Factory 的非参数化类,它生成 Foos。

public class FooFactory {
public static Foo createFoo() {
return new Foo();
}
}

有什么办法可以通过Class clazz参数写入createFoo这样我就可以创建一个 Foo<clazz>

public class FooFactory {
public static Foo createFoo(Class clazz) {
return new Foo<clazz>();
}
}

最佳答案

制作createFoo工厂方法通用:

public static <T> Foo<T> createFoo(Class<T> clazz) {
return new Foo<T>();
}

事实证明,您甚至不需要 clazz ; Java将推断<T>对于你来说,这就足够了:

public static <T> Foo<T> createFoo() {
return new Foo<T>();
}

关于来自类对象的 Java 参数化类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19868329/

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