读书人

施用泛型和没使用泛型的区别

发布时间: 2012-10-29 10:03:53 作者: rapoo

使用泛型和没使用泛型的区别

使用泛型的类

/** * 使用泛型的类 * @author chase * * @param <T> */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 showType() {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.showType();int i = intOb.getOb();System.out.println("value = " + i);System.out.println("============================");/** 定义泛型类Gen的String版本 */Gen<String> strOb = new Gen<String>("Hello Chase!");strOb.showType();String s = strOb.getOb();System.out.println("value = " + s);System.out.println("============================");/** 定义泛型类Gen的double版本 */Gen<Double> dubOb = new Gen<Double>(3.1415926);dubOb.showType();Double d = dubOb.getOb();System.out.println("value = " + d);}}

?

?

?

没使用泛型的类

/** * 未使用泛型的GenDemo * @author Administrator * */class Gen2 {private Object Ob; //定义一个普通类型成员public Gen2(Object ob) {this.Ob = ob;}public Object getOb() {return Ob;}public void setOb(Object ob) {Ob = ob;}public void showType() {System.out.println("T的 实际类型是:" + Ob.getClass().getName());}}public class GenDemo2 {public static void main(String[] args) {/** 定义类Gen2的一个Integer版本 */Gen2 intOb = new Gen2(new Integer(88));intOb.showType();int i = (Integer)intOb.getOb();System.out.println("value = " + i);System.out.println("=================");/** 定义类Gen2的一个String版本 */Gen2 strOb = new Gen2(new String("Hello Chase!"));strOb.showType();String s = (String)strOb.getOb();System.out.println("value = " + s);}}

?运行的结果都一样

读书人网 >编程

热点推荐