简单实例解读Java泛型

        今天复习了一下泛型的使用方法,现在用非常简单的java代码解读Java泛型原理。

 

泛型类:Student.java

public class Student<T> {// 此处可以随便写标识符号,T是type的简称

	private T ob;//定义泛型成员变量

	public Student(){//无参构造方法
		super();
	}
	
	public Student(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());
	}
}

 

测试类:Test.java

public class Test {

	
	public static void main(String[] args) {
		Integer a = 66;
		//定义Student的一个Integer版本
		Student<Integer> stuInteger = new Student<Integer>(a);
		stuInteger.showType();
		Integer i = stuInteger.getOb();///不同的对象调用相同的方法
		System.out.println("value= "+i);
		
		String www = "http://meirengo.taobao.com";
		//定义Student的一个String版本
		Student<String> stuString = new Student<String>(www);
		stuString.showType();
		String s = stuString.getOb();///不同的对象调用相同的方法
		System.out.println("value= "+s);
		
		Student stuLong = new Student(new Long(33));//不使用尖括号指定泛型类型
		stuLong.showType();
		Long ll = (Long) stuLong.getOb();//不指定泛型类型的需要强制转换(因为不指定泛型类型默认为Object类型)
		System.out.println("value= "+ll);
	}

}

 

泛型的优点:

1、类型安全:设置了泛型类型,就只能输入指定类型的数据。

2、消除强制类型转换:参照上面test实例,防止类型转换错误
 

不仅有泛型类,还有泛型方法,eg:

public <T> Object findList(String queryString, T t);

调用方式:return (List<XXX>)xxx.findList("findAll",yyy);

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值