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

使用泛型的类

/**
 * 使用泛型的类
 * @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);
	}
}

 运行的结果都一样

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值