声明时,定义的是Integer类型,传入字符串报错
泛型属性不能为静态
Generic.java类型的泛型方法
调用:
如果去掉getObj方法的 <T>修改,红框中会报错
小例子
public class MyList<E>{
public void add(E e) {
System.out.println("add--->" + e);
}
public void remove(Object o) {
System.out.println("remove--->" + o);
}
//<? super Double> 表示类型只能接受Double及其上层父类类型
public void addAll(List<? extends E> c) {
System.out.println("addAll");
}
public void removeAll(List<?> c) {
System.out.println("removeAll");
}
public <T> T[] toArray(T[] a) {
return a;
}
}
public class Generic {}
public class GenericSub extends Generic{}
@Test
public void testListFx(){
MyList<Generic> myList = new MyList<Generic>();
GenericSub e = new GenericSub();
myList.add(e);
myList.remove(e);
ArrayList<Generic> list = new ArrayList<Generic>();
list.add(e);
myList.addAll(list);
myList.removeAll(list);
Integer[] array = myList.toArray(new Integer[10]);
}