日期:2014-05-20  浏览次数:20730 次

java中<E><T><?><A><U>这都是什么意思?
我经常在类里看见出现这样的标识,请问这都是什么意思?
要怎么样去理解它?
在实际编程中,他们能启到什么作用?

------解决方案--------------------
多半是泛型里出现的吧,例如Vector <E> 在实际中就可以改为Vector <Integer> v = new Vector <Integer> ();
------解决方案--------------------
从JDK5.0开始出现的泛型(Generics)功能。泛型提供编译时期的检查,不会将对象置于某个容器而失去其类型。

http://www.onjava.com/pub/a/onjava/excerpt/javaian5_chap04/index.html
------解决方案--------------------
这个是JDK 1.5 的新特性。举个例子。 一个列表中加入3个数字,然后从列表中取出作合计的操作。

JDK 1.4 的时候
List testList = new ArrayList();
testList.add(new Integer(100));
testList.add(new Integer(200));
testList.add(new Integer(300));
int result = 0;
for(int i = 0; i < testList.size(); i ++) {
// 这里从列表中取数据时,需要强制转换。
result += (Integer)testList.get(i).intValue();
}
System.out.println(result);


JDK 1.5 的时候
List <Integer> testList = new ArrayList <Integer> ();
// 注意,JDK1.5的 int 的 100,能够自动的转换成 Integer 类型。不强制要求 new Integer(100)
testList.add(100);
testList.add(200);
testList.add(300);
int result = 0;
for(int i = 0; i < testList.size(); i ++) {
// 这里从列表中取数据时,不需要强制转换。
result += testList.get(i).intValue();
}
System.out.println(result);


PS. 以上代码没有编译运行测试过,仅仅用于说明。