泛型
创建数据是<>内的数据类型
- 如果没有泛型就可以往集合内添加任意数据,默认为Object类型
- 弊端,多态原理,无法调用数据的每种类型的特有的方法
- 泛型中不能写基本数据类型,因为基本数据类型无法转为Object类型
- 传递数据可以传递泛型的子类
例子(泛型类🔺🔺🔺):
pubilc class ArrayList<E>{ Object[] ob = new Object[255]; int size; //定义传入的数据 E类型的数据e public boolean add(E e){ //存入ob类型 ob[size] = e; size++; return true; } //读取数据 public E get(int i){ E e = (E)ob[i]; return e; } //遍历 @Verride pubilc String toString(){ return Arrays.tosString(ob); } }
- 方法定义泛型 (适用于不确定方法内传什么数据)
public <T> void add(T t){ }
- 可变参数
public Static<E> void add(ArrayList<E>list, E...e){ for(E element : e){ list.add(element); } }
- 泛型接口
1.实现类给出具体类型 pubilc abstract class 类名 implements 接口名<String>{ } 2.实现类不确定具体类型 pubilc abstract class 类名 implements 接口名<E>{ }