T[] arr = (T[])list.toArray();
解决方案 »
- JDBC的奇怪问题,宗师请进
- axis2写的ws,用Stub方式能接收到数据,用RPC方式却不行
- 数据库连接问题
- 关于查询效率的一个问题
- spring 中,问一下这是什么鬼语法
- 关于使用验证的问题
- 难题:一共54个小时,如何计算由任一天开始,一天(计8点到12点,1点半到5点半,共8小时),一共需要多少天
- uiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
- 在apache soap作的web service中如何调用第三方的类包?比如ojdbc.jar
- java怎样计算两个日期间的差
- struts问题
- 我下载的jboss-4.0.5.GA,怎么运行一直有问题?
T[] arr = (T[])list.toArray();
--------------------------------------------------------------------------------
试了,错误:Exception in thread "main" java.lang.ClassCastException: [Ljava.lang.Object;
public static List<T> find(String hql) {
List list = null;
try {
Session session = currentSession();
list = session.createQuery(hql).list();
closeSession();
} catch (HibernateException ex) {
System.out.println(ex);
}
return list;
}
ChDw(米) ( ) 信誉:155 Blog 2006-11-29 09:40:38 得分: 0
使用List就行啊
public static List<T> find(String hql) {
--------------------------------------------------------------------我想返回的是 T[] 这样调用find得到查询结果不需要再做类型转换
abstract class AbstractDB<T> {
@SuppressWarnings("unchecked")
public T[] find(String hql) {
ParameterizedType thisType = (ParameterizedType) getClass().getGenericSuperclass();
Class<T> domainClass = (Class<T>) thisType.getActualTypeArguments()[0];
List list = null; T[] arr = (T[]) Array.newInstance(domainClass, list.size());
list.toArray(arr);
return arr;
}
}class UserDB extends AbstractDB<String> {
}
代码中
new UserDB().find(null);