您的位置:首页 > 编程语言 > Java开发

Java泛型

2016-03-13 22:48 260 查看
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: