java – 非泛型类的通用方法

前端之家收集整理的这篇文章主要介绍了java – 非泛型类的通用方法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图使用通用的方法,所以我不必重复代码.我努力了:
private Listener createListenerAdapter(Class<T> clazz)
{ 
   // do something
}

(clazz是重要的,因为class被保留).

但Netbeans抱怨说:“找不到符号类T”.

我要传递几个不同的类,他们有相同的方法.我应该在哪里定义T?

解决方法

声明方法为:
private <T> Listener createListenerAdapter(Class<T> clazz)

有关更多信息,请参阅Java Tutorials.

编辑:如果T与返回类型无关,您也可以使用通配符:

private Listener createListenerAdapter(Class<?> clazz)

编辑1:如果clazz旨在表示一种Listener类型,您可以定义边界以限制调用者(以避免转换和潜在的运行时异常):

private <L extends Listener> L createListenerAdapter(Class<L> clazz)

通配符:

private Listener createListenerAdapter(Class<? extends Listener> clazz)

但这取决于人体中使用的是什么样的clazz.

猜你在找的Java相关文章