package Study.Collection;
/**
* <p>Description: </p>
* 增加泛型
* @author zhangyan
* @date 2018/12/19 10:50
*/
public class YanArrayList01<E> {
private Object[] elementData;
private int size;
private static final int DEFALT_CAPACITY = 10 ;
public YanArrayList01(){
elementData = new Object[DEFALT_CAPACITY];
}
public YanArrayList01(int capacity) {
elementData = new Object[capacity];
}
//最简单的add()方法,并定义好泛型
public void add(E element){
elementData[size++] = element;
}
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("[");
for(int i=0;i<size;i++){
sb.append(elementData[i]+",");
}
sb.setCharAt(sb.length()-1, ']'); //替换最后一个,为]
return sb.toString();
}
public static void main(String[] args) {
YanArrayList01 s1 = new YanArrayList01(20);
s1.add("aa");
s1.add("bb");
System.out.println(s1);
}
}
解析:增加泛型的目的是给YanArrayList01添加标签,能规定集合元素的类型。
这里目前只有一个add()方法,所以泛型只能对add()方法生效。