泛型:无论传入的数据是什么类型,对数据的操作都是一样的
·泛型的作用
泛型的能力就像多态,是中参数化的能力
可以在编译期间检查到错误
·泛型的一般形式
1.在定义类的时候 泛型类
public class GenericStack<E>{
private ArrayList<E> list = new ArrayList<E>();
//getSize
public int getSize(){
return list.size();
}
//peek
public E peek(){
return list.get(list.size()-1);
}
}
·也就是说定义泛型类的时候同时定义了一种统一操作的数据类型(消除了类型),也就是说,同样的泛型函数中有
同样的引用类型。
·实现的方式是:
GenericStack<String> stack = new GenericStack<String>();
应该注意的是泛型类的构造函数是没有变化的。
2.在定义方法的时候定义泛型方法
public static <E> void out(E e){
System.out.println(e);
}
·注意泛型的方法的书写格式 <E> void name;
而在调用的时候使用类名.<e>out();需要指出具体的e的类型
·泛型的作用
泛型的能力就像多态,是中参数化的能力
可以在编译期间检查到错误
·泛型的一般形式
1.在定义类的时候 泛型类
public class GenericStack<E>{
private ArrayList<E> list = new ArrayList<E>();
//getSize
public int getSize(){
return list.size();
}
//peek
public E peek(){
return list.get(list.size()-1);
}
}
·也就是说定义泛型类的时候同时定义了一种统一操作的数据类型(消除了类型),也就是说,同样的泛型函数中有
同样的引用类型。
·实现的方式是:
GenericStack<String> stack = new GenericStack<String>();
应该注意的是泛型类的构造函数是没有变化的。
2.在定义方法的时候定义泛型方法
public static <E> void out(E e){
System.out.println(e);
}
·注意泛型的方法的书写格式 <E> void name;
而在调用的时候使用类名.<e>out();需要指出具体的e的类型