Java泛型的一个问题
Java code
class Ge<T> {}
public class T3Generic {
public static void main (String[] args){
new Ge();
new Ge<Integer>();
}
}
问下,创建一个泛型类的对象,可以不给出泛型参数么?
------解决方案--------------------可以不指定内部的数据类型,在编译的时候会出现不安全操作的警告信息,但是不影响程序的执行,这是因为,如果你不指定泛型的类型,系统会默认为用Object类来接受。还是加上比较好呢
------解决方案--------------------public class Gen<T> {
private T ob; //定义泛型成员变量
public Gen(T ob) {
this.ob = ob;
}
public T getOb() {
return ob;
}
public void setOb(T ob) {
this.ob = ob;
}
public void showTyep() {
System.out.println("T的实际类型是: " + ob.getClass().getName());
}
}
public class GenDemo {
public static void main(String[] args){
//定义泛型类Gen的一个Integer版本
Gen<Integer> intOb=new Gen<Integer>(88);
intOb.showTyep();
int i= intOb.getOb();
System.out.println("value= " + i);
System.out.println("----------------------------------");
//定义泛型类Gen的一个String版本
Gen<String> strOb=new Gen<String>("Hello Gen!");
strOb.showTyep();
String s=strOb.getOb();
System.out.println("value= " + s);
}
}