泛型的定义
泛型就是在编写一段代码时, 不定义具体的类型, 或者说是定义一个统称的类型, 以至于后期想替换成任何类型都可以, 只需要换个参数即可, 通过传递不同的实参来达到不同类型的效果.
import java.util.Objects;
//泛型的写法
public class FanXing<E> {
private E[] arr = null;
private int size;
private int capacity = 0;
//构造方法传参
public FanXing(int capacity) {
//这里要写成Object的原因是在定义数组时暂时需要一个类型
//而 E只是一个类型的统称, 无法达到创建数组的目的
//所以先用Object创建出数组, 再强制类型转换成E[]
arr = (E[])new Object[capacity];
size = 0;
this.capacity = capacity;
}
public void add(E data){
if(size < capacity){
this.arr[size] = data;
size++;
}else{
return;
}
}
public E get(int index){
return this.arr[index];
}
public static void main(String[] args) {
//泛型的实例化
FanXing<String> f = new FanXing<>(10);
f.add("a");
f.add("b");
f.add("c");
f.add("d");
System.out.println(f.get(2));
}
}
泛型类实际上和普通的类没有太大区别, 区别在于泛型类可以套用多种类型, 用起来比较方便, 但普通类也可以通过编写多段代码来达成同样的效果.