我见过一些这样的代码,但无法理解其意义:
public class ClassA{
public <T> void getContactName(ContactList<T> contactList){
//do something
}
}
基本上我不明白这个。该类编译时没有任何错误。我认为 ClassA 也应该通过参数 'T' 变得通用。
谢谢
最佳答案
定义
public <T> void getContactName(ContactList<T> contactList){
//do something
}
表示只有方法是泛型的,并且名称为T
的类型仅在该方法的范围内有效。如果 T
类型参数仅在单个方法中使用,则不需要该类是泛型的。
顺便说一句,请记住,在 Java 中您可以使通用:
- 类(匿名类除外)
- 方法
- 界面
但你不能通用:
- 异常(exception)情况
- 匿名类
- 枚举
关于Java 泛型返回类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25055032/