java generics 里面的<E>是什么意思?

刚刚开始学generics,搞不懂,还有Comparable是什么意思呢?
简单帮我讲一下就好了,让我明白个大概,谢谢!

Generics 的意思是泛型...JDK1.5以后才出现的..
在以前版本的集合类中:如:
ArrayList list=new ArrayList():
在list中可以添加任何对象的元素..
而现在引进了泛型意思是:
ArrayList<String> list=new ArrayList<String>();
既然高版本的出现了泛型.那么就一定有它的好处..
这样的话在这个list中就只能存放String类型的对象..
这样有什么好处呢?
如果你添加了其他类型的数据它就会提示你有错误..
增加了你的排错能力...而且在使用Iterator遍历整个list的时候就不需要强制类型转换...可以很省事....
如果不用泛型返回的数据类型是Obejct类型...如果用了泛型...

那么用 it.next(); 的时候返回的就是 String类型不用强制类型转换...
很方便....省去了很多麻烦....

还有Comparable是一个接口....
是用来比较两个对象之间的大小的...
可以通过用户名或是年龄等等....

如果想实现两个对象的比较这是一个不错的方法...

说再多不如给楼主举一个小例子给楼主看一下它们两个的用法...

ArrayListT.java

import java.util.ArrayList;
import java.util.Collections;
import java.util.Iterator;

//ArrayList使用方法
public class ArrayListT {
@SuppressWarnings("unchecked")
public static void main(String[] args){
ArrayList<People> aList=new ArrayList<People>();

People p1=new People();
People p2=new People();
People p3=new People();
People p4=new People();

p1.setName("zhaipeng");
p1.setAge(22);
p2.setName("xujunjin");
p2.setAge(21);
p3.setName("zhuochao");
p3.setAge(22);
p4.setName("xiangyang");
p4.setAge(21);

aList.add(p1);
aList.add(p2);
aList.add(p3);
aList.add(p4);

Collections.sort(aList);

//迭代法输出数据
Iterator<People> it=aList.iterator();
while(it.hasNext()){
System.out.println(it.next().getName());
}

}
}

class People implements Comparable{
private String name;
private int age;
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int compareTo(Object o){
return this.name.compareTo(((People)o).getName());
}
}

祝楼主早日成功....

如果还有不明白的百度HI我...给你讲一下....
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-04-14
泛型设计的内容
相似回答