Java API 文档问题:“<T>”、“<K,V>”等指什么?

来源:百度知道 编辑:UC知道 时间:2024/05/24 18:01:44
最近研究 Java API 文档,发现里面的参数、返回值常常出现像“<T>”、“<K,V>”、“<E>”这样的字眼,这代表什么类型?有什么含义?

在 java.util 包中,AbstractMap 类的所有子类都附加了这样的符号,我猜想是不是表示这样的一个类是一个可以保存和查找 键-值 对应的类?

而所有 AbstractCollection 类的子类都有“<E>”符号,这是不是表示它包含一个枚举类型?

像 Comparable 类后面有一个“<T>”,这又代表什么?

另外像 Class 类的 getDeclaredMethod 方法,参数说明是:
(String name, Class... parameterTypes)
省略号是什么意思?

还有 Method 类的 getParameterTypes() 方法返回值是 Class<?>,问号又代表什么?

望达人指教!

表示范型,你在用的时候可以在<>里写上自己的类型,比如ArrayList<int>等等,表示的是任意的一个类型
有省略号是参数的个数是可变的,你给它传任意个参数都是可以的

是泛型
举个例子
以前用ArrayList存int的时候
ArrayList list=new ArrayList();
list.add(new Integer(10));
int a=(Integer)(list.get(0)).intValue();

很麻烦
现在
ArrayList<Integer>list=new ArrayList<Integer>();
list.add(10);
int a=list.get(0);
只保存Integer类型的变量,但是不能是原始类型int不行

Java1.5中还有的功能 auto boxing/unboxing自动装箱/拆箱功能
现在可以int a=new Integer(10);
所以就有了list.add(10)相当于list.add(new Ingeter(10));

同意!

同意

欢迎广大java爱好者加入群一起讨论:30745246