泛型在类定义上的应用:
public class MyGeneric<E> {
private int age;
private String name;
private E e;
public void setObj(E e){
this.e = e;
}
public E getObj(){
return e;
}
}
创建对象如下:
MyGeneric<String> mg = new MyGeneric<String>();
mg.setObj("你好");
System.out.println(mg.getObj());
MyGeneric<Person> mgs = new MyGeneric<Person>();
mgs.setObj(new Person("李华",32));
System.out.println(mgs.getObj());
输出:
你好
Person [name=李华, age=32]
泛型在方法中的应用:
public class MyGeneric {
/*
* 泛型在方法中的应用(带返回值)
*/
public <A> A doit(A a){
System.out.println(a.getClass());
return a;
}
/*
* 泛型在方法中的应用(不带返回值)
*/
public <A> void doit2(A a){
System.out.println(a);
}
}
调用如下:
MyGeneric mgs = new MyGeneric();
int s = mgs.doit(123);
System.out.println(s);
mgs.doit2(new Person("李华",23));
输出:
123
Person [name=李华, age=23]