java – 非泛型类的通用方法
发布时间:2020-12-14 05:06:42 所属栏目:Java 来源:网络整理
导读:我试图使用通用的方法,所以我不必重复代码.我努力了: private Listener createListenerAdapter(ClassT clazz){ // do something} (clazz是重要的,因为class被保留). 但Netbeans抱怨说:“找不到符号类T”. 我要传递几个不同的类,他们有相同的方法.我应该在
我试图使用通用的方法,所以我不必重复代码.我努力了:
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. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |