gpt4 book ai didi

java - 如何检查通用接口(interface)是否适合类

转载 作者:行者123 更新时间:2023-12-02 04:54:41 28 4
gpt4 key购买 nike

我有一些通用类型的接口(interface) interface DummyInterface<T>我有一个必须设置接口(interface)的类

 class DummyClass<T>{
public void setDummyInterface(DummyInterface<T> dummyInterface){
//set interface
}
}

想象一下我存储DummyClass的情况在 ArrayList 中使用不同的泛型。当我从列表中获取类时,我不知道类的泛型,并且我想检查接口(interface)是否具有相同的泛型;例如我想这样检查

if(dummyInterface<SomeTypeIKnow>.getGenericType() == dummyClass.getGenericType()){
dummyClass.setDummyInterface(dummyInterface);
}

最佳答案

您可以使用类似 TypeTools 的内容(我编写的一个库)来解析类型参数,只要该参数是在类型定义中捕获的。例如:

interface DummyStringInterface extends DummyInterface<String> {}

Class<?> t = TypeResolver.resolveRawArgument(DummyInterface.class, DummyStringInterface.class);
assert t == String.class;

关于java - 如何检查通用接口(interface)是否适合类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28906730/

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