首页 > 编程语言 > 详细

Java泛型

时间:2016-03-13 23:47:32      阅读:159      评论:0      收藏:0      [点我收藏+]

Java泛型的作用一个是限制传入参数类型和类型转换更方便。

1. 类型限制在List集合中用得最多,本来List只要传一个Object就ok了,但为了程序的安全性(怕存在隐性的错误),加一个泛型的话,就知道集合真正需要的类型了。

public class MyList<E> {
    
    public void add(E e){
        System.out.println(5);
    }
    
    public static void main(String[] args) {
        MyList<String> list = new MyList<String>();
        list.add("3");
    }

}

你还可以指定多个未知类型public class MyList<E, U, T>{}

2. 类型转换更方便

public class BaseService<T, PK extends Serializable> extends HibernateDaoSupport {

    private Class<T> entityClass;
    
    public BaseService(){
        this.entityClass = (Class<T>) ((ParameterizedType) getClass().getGenericSuperclass()).getActualTypeArguments()[0];
    }

    public T getObject(PK id) {
          return (T) getHibernateTemplate().get(entityClass, id);
    }
}

PK为限制主键的类型,T来限制主要的实体类。在BaseService的构造函数中通过反射读取到子类的泛型参数 实例化Class<T>, 然后session就可以根据这个Class来创建对象了,最后通过T来一个强制转换,完美收工。  2016-03-13 22:58:41

Java泛型

原文:http://www.cnblogs.com/angelshelter/p/5274056.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!