检查泛型T是否实现接口

检查泛型T是否实现接口,第1张

检查泛型T是否实现接口

奇怪的是,泛型也

extends
用于接口。1您将要使用:

public class Foo<T extends SomeInterface>{    //use T as you wish}

这实际上是实现的要求, 而不是true / false check

为了进行真/假检查,请使用无限制的generics(

class Foo<T>{
)并确保获得a,
Class<T>
以便您具有可靠的类型

if(SomeInterface.class.isAssignableFrom(tClazz));

哪里

tClazz
是类型的参数
java.lang.Class<T>

如果您得到的是可靠类型的参数,那么无非就是:

if(tParam instanceof SomeInterface){

但这仅适用于泛型声明。

1如果要扩展一个类和多个接口,则可以执行以下 *** 作:

<T extends FooClass & BarInterface &Baz>
该类(仅一个,因为Java中没有多重继承)必须 首先进行 ,然后以任何顺序进行任何接口。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5096054.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-16
下一篇 2022-11-16

发表评论

登录后才能评论

评论列表(0条)

保存