这个java范型是什么意思?public <X> List<X> find(final String hql, final Object... values) {
return createQuery(hql, values).list();
}
find方法返回X类型的list ,要达到这种效果,通常的返回类型只写 List<X> 即可了,可这个方法在List<X> 前面还有个<X> 这个 <X> 有什么特殊的意思吗?等知情者告知,谢谢!
return createQuery(hql, values).list();
}
find方法返回X类型的list ,要达到这种效果,通常的返回类型只写 List<X> 即可了,可这个方法在List<X> 前面还有个<X> 这个 <X> 有什么特殊的意思吗?等知情者告知,谢谢!
没有这个类,所以编译器不认识。
要想让编译器知道这个是一个泛型的类型,不是一个具体的类,就得跟编译器说一声,怎么说呢?就<X>这么说。
放在返回值之前,修饰符之后,说明一下就可以了。
比如,象这种情况public <X> void (X x) { //这里如果不先声明<X>,就不可能定义X x,因为java里没有X这个类型
//所以必须先声明<X>表示X是个泛型,才能使用它
}同样的public <X> List<X> find 也要先声明<X>,否则,谁知道X是泛型还是一个被别人定义的class X
没有泛型,我们对一个List<User>,就要写一个方法,对List<Address>,又要写一个方法,适用泛型我们可以直接使用List<X>来代替,只要我们在调用的时候指定X是User还是Address就可以了。