哇噻,看到每天论坛这么多问题被解决,大伙真是热心啊,这有个hibernate的query的问题想请教各位大虾!

valueof 2012-11-29 07:40:14
部分代码如下: String hql=" select min(e.age),max(age) from Emp e ";
Query query=session.createQuery(hql);

List emps=query .list();
for (Iterator iterator = emps.iterator(); iterator.hasNext();) {
Object[] e = (Object[]) iterator.next();
System.out.println(e[0]+","+e[1]);

}
不明白的是,此处为什么是System.out.println(e[0]+","+e[1]);
而不能是System.out.println(e)(这样只能打印出来的是数组名,不是内部的元素);
用debug发现iterator迭代的第一项是一个Object类型的数组,数组内有两个元素。不理解啊,
感觉应该是迭代的第一项是e【0】,第二项是e[1],不需要弄一个Object这样的数组来放这些e1,e2啊,应该不断的iterator.next直接往下面放才对啊?让游标不断向下走啊
按他这样的话,不管查到多少个结果, iterator.next(); 都只走一步,因为他都放在了第一项的Object类型的数组中,这样iterator.next(); 根本不会向下走了,那不是没什么意义嘛,一个iterator实际就迭代一次。

不知道说清楚了没有

还有就是用debug发现iterator的起始游标是-1对吗?只知道第一次迭代出的是第一项(下标为0的),推断起始为-1(debug看见lastRet=-1),这样的说法是不是不专业。
想了半天没转过弯来,总觉得别扭的很,各位大虾指点下!
...全文
139 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
valueof 2012-12-01
  • 打赏
  • 举报
回复
引用 7 楼 leandzgc 的回复:
伤心的,以后你的问题自动过滤了...辛辛苦苦敲了那么多字,一分都没给
别伤心,下次给分,之前在别的论坛金币和分都只能给一个人的,今天才知道这论坛规则不一样,昨天连回复都没找着 今天才发现有个引用,想着应该是回复功能的,汗,坛子不熟悉,表见怪 以后还有机会嘛!。
valueof 2012-11-30
  • 打赏
  • 举报
回复
谢谢,昨天误入歧途了!
qinzi_2013 2012-11-30
  • 打赏
  • 举报
回复
你查询出来的结果z只有一行,里面有多个值,那它肯定只循环一次了!
zhangchao19890805 2012-11-30
  • 打赏
  • 举报
回复
e[0]里面装的是min(e.age)的值,e[1]里面装的是max(age)的值
leandzgc 2012-11-30
  • 打赏
  • 举报
回复
不明白的是,此处为什么是System.out.println(e[0]+","+e[1]); 而不能是System.out.println(e)(这样只能打印出来的是数组名,不是内部的元素); //上面的解释是,e只是一个对象数组对象而已,而不是一个对象类型的对象,所以你直接打印会是他的名称,而不是内容例如String[] a = {"a", "b", "c"};你打印a会是abc吗?肯定不会,你需要取这个String类型数组对象a的下标0才会是"a",下标1会是"b",当然2就是"c" 用debug发现iterator迭代的第一项是一个Object类型的数组,数组内有两个元素。不理解啊, 感觉应该是迭代的第一项是e【0】,第二项是e[1],不需要弄一个Object这样的数组来放这些e1,e2啊,应该不断的iterator.next直接往下面放才对啊?让游标不断向下走啊 按他这样的话,不管查到多少个结果, iterator.next(); 都只走一步,因为他都放在了第一项的Object类型的数组中,这样iterator.next(); 根本不会向下走了,那不是没什么意义嘛,一个iterator实际就迭代一次。 //上面这段对于迭代我没什么研究,所以无法回答你。 还有就是用debug发现iterator的起始游标是-1对吗?只知道第一次迭代出的是第一项(下标为0的),推断起始为-1(debug看见lastRet=-1),这样的说法是不是不专业 //所有的下标都是以0开头的,如果是-1一般都代表没有数据。所以如果判断iterator为-1的时候代表这个迭代器里面没有东西,直接跳过。不知明白了没?
valueof 2012-11-30
  • 打赏
  • 举报
回复
木有人看见吗?
leandzgc 2012-11-30
  • 打赏
  • 举报
回复
伤心的,以后你的问题自动过滤了...辛辛苦苦敲了那么多字,一分都没给
valueof 2012-11-29
  • 打赏
  • 举报
回复
自顶一下,方便更新!

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧