泛型的意思是“参数化”类型,也就是类参数的类型是由我们自己定义的,在设计模式中使用广泛。泛型有三种使用方式,分别为:泛型类、泛型接口、泛型方法,泛型只在编译阶段有效。
public class TestOverClass<T> {
private T over; //泛型成员
private T[] array; //泛型数组
public T getOver() {
return over;
}
public void setOver(T over) {
this.over = over;
}
public T[] getArray() {
return array;
}
public void setArray(T[] array) {
this.array = array;
}
public static void main(String[] args) {
TestOverClass<Integer> integerTestOverClass = new TestOverClass<Integer>(); //泛型成员类型为Integer
integerTestOverClass.setOver(100); //泛型成员赋值
System.out.println("泛型成员:"+integerTestOverClass.getOver());
System.out.println();
//泛型数组操作
String[] array={"sss","aaa","ccc"};
TestOverClass<String> stringArrays = new TestOverClass<>();
stringArrays.setArray(array);
System.out.println("泛型数组:");
for (int i = 0; i < stringArrays.getArray().length; i++) {
System.out.println(stringArrays.getArray()[i]);
}
System.out.println();
//限制泛型类使用
limitClass<ArrayList> limitClass = new limitClass<ArrayList>();
ArrayList<Integer> list = new ArrayList<Integer>();
list.add(1);
list.add(2);
list.add(3);
limitClass.setLClass(list);
System.out.println("限制泛型类:"+limitClass.getLClass());
System.out.println();
//泛型化的集合类
HashMap<Integer, String> map = new HashMap<Integer, String>();
for (int i = 0; i < 5; i++) {
map.put(i,"成员"+i);
}
System.out.println("HashMap<Integer, String>:");
for (int i = 0; i < map.size(); i++) {
System.out.println(map.get(i));
}
}
}
class limitClass<T extends List>{
private T LClass;
public T getLClass() {
return LClass;
}
public void setLClass(T LClass) {
this.LClass = LClass;
}
}