gpt4 book ai didi

java - 使用类的方法结果中的通用类

转载 作者:行者123 更新时间:2023-12-02 14:06:13 25 4
gpt4 key购买 nike

我想使用通过 Java 中的通用方法设置捕获的类信息来创建实例。但我不知道如何在没有实际实例的情况下引用该类。可能吗?

public class Fancy {

static public <TypeToFind> TypeToFind createInSomeCase() {
// any type of logic with TypeToFind "class" generic will do, I just want to reference it.

// the below code is invalid, I could also declare a variable, but can't always create an instance to get the class
if (TypeToFind.getClass().equals(Something.class)) {
return TypeToFind.getInstance();
}
}


}

...所以稍后我可以这样做:

TheResultIsTheParameter t = Fancy.createInSomeCase();

...而不是

TheResultIsAParameter t = Fancy.createInSomeCase(TheResultIsAParameter.class);

...或

TheResultIsAParameter t = Fancy.createInSomeCase(t);

我是不是把事情搞得太复杂了?

最佳答案

你不能这样做,因为泛型在运行时会丢失(由于 type erasure )。您必须通过Class<?>参数

关于java - 使用类的方法结果中的通用类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8843104/

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