我想要有一个Class对象,但我想强制它表示的任何类来扩展类A并实现接口B。
我可以这样做:
Class<? extends ClassA>
或者:
Class<? extends InterfaceB>
但我不能两者兼得。有没有办法做到这一点?
发布于 2013-11-13 18:38:04
你不能用“匿名”类型参数(即使用?
的通配符)来实现,但你可以用“命名”类型参数来实现。只需在方法或类级别声明类型参数。
import java.util.List;
interface A{}
interface B{}
public class Test<E extends B & A, T extends List<E>> {
T t;
}
发布于 2020-07-24 08:43:10
下面是如何在Kotlin中完成此操作
fun <T> myMethod(item: T) where T : ClassA, T : InterfaceB {
//your code here
}
https://stackoverflow.com/questions/745756
复制相似问题