项目源代码中出现例如以下代码:

HibernateTemplate ht =……

List<Object[]> tempList = ht.find(String querystring);

查看api发现HibernateTemplate的find(String querystring)方法返回的是一个List<Object>对象,当时就比較纳闷了。难道Object对象能强转为Object数组?当然不能。那是为什么呢?find方法返回的list本质上就是List<Object[]>类型的。

追踪Spring api和hibernate api能够略知一二。

public List <span style="color:#cc0000;">find(String queryString)</span> throws DataAccessException {
return <span style="color:#cc0000;">find(queryString, (Object[]) null)</span>;
} public List <span style="color:#cc0000;">find(final String queryString, final Object[] values) </span>throws DataAccessException {
return (List) execute(new HibernateCallback() {
public Object doInHibernate(Session session) throws HibernateException {
Query queryObject = session.createQuery(queryString);
prepareQuery(queryObject);
if (values != null) {
for (int i = 0; i < values.length; i++) {
queryObject.setParameter(i, values[i]);
}
}
return <span style="color:#cc0000;">queryObject.list()</span>;
}
}, true);
}

public List list()

          throws HibernateException

Return the query results as a List. If the query contains multiple results pre row, the results are returned in an instance of Object[].

Returns:

the result list

Throws:

HibernateException

解决问题的同一时候,也发现了另外一个问题:Object[] 能够转型为Object,这是为什么呢?查证得知。java中数组也是对象,Object是根对象。

Object[] obj1= new Object[2];
Object obj2 =obj1;

最新文章

  1. Android菜单项内容大全
  2. 下订单存储过程 - MYSQL
  3. Direct3D 10学习笔记(二)——计时器
  4. Android之官方下拉刷新控件SwipeRefreshLayout
  5. 深入Spring IOC源码之ResourceLoader
  6. 重新想象 Windows 8.1 Store Apps (92) - 其他新特性: CoreDispatcher, 日历, 自定义锁屏系列图片
  7. 【MPI学习5】MPI并行程序设计模式:组通信MPI程序设计
  8. Mysql 常用命令集
  9. CCF 认证4
  10. 理解C# Lazy&lt;T&gt;
  11. gsoap 超时(timeout)设置
  12. translucent 属性
  13. linux下删除文件及文件夹命令
  14. asp.net中配置使用Sqlite轻型数据库
  15. [测试]java IO写入文件效率——几种方法比较
  16. hadoop第二课
  17. 力扣(LeetCode)463. 岛屿的周长
  18. UVA 11426 GCD - Extreme (II) (欧拉函数)题解
  19. NRF52832 能烧写代码 但是不运行 ,是因为没有烧写协议栈
  20. 【总结】Java面试题

热门文章

  1. .Net Framework Data Provider可能没有安装
  2. Object.defineProperty
  3. python代码优化技巧
  4. WEB SSH之Shellinabox
  5. CycleScrollView实现轮播图
  6. 2-3 tree使用
  7. IT传道解惑:心累了就读读
  8. java学习之多生产者和多消费者
  9. Vijos_1218_数字游戏_(划分型动态规划+环状动态规划)
  10. (转载)mysql decimal、numeric数据类型