//测试输出List<String []> 中的内容,字符串数组中的内容

public List<String []> gethighAdminByKeyNO(String keyNO){
Query query=getSession().createQuery("select bean.keyValue,bean.showName from Dictionary bean);
query.setParameter("keyNO", keyNO);
List<String []> dictionaries=query.list();

//怎么样测试输出String[]数组中的数据
return dictionaries;
}

把返回的数组的 dictionaries 按以下输出就行了
for(String []tmp: dictionaries)
{
for(String str:tmp)
{
System.out.println(tmp+":"+str);
}

}追问

[Ljava.lang.Object; cannot be cast to [Ljava.lang.String;报错这个??

追答

类型转换错误, ..上面那段代码你加在什么位置了

追问

List dictionaries=query.list();
//这里
return dictionaries;

追答

"select bean.keyValue,bean.showName from Dictionary bean"
这个查出来的是String [] 数组对象吗? 里面放的是Dictionary

for(String []tmp: dictionaries)
{
for(Object obj:tmp)
{
if(obj instanceof Dictionary )
{
Dictionary d=(Dictionary)obj;
System.out.println(d.getKeyValue()+":"+d.getShowName())
}
}

}

追问

我觉得是属性,应该是字符串数组

追答

能Debug不
在List dictionaries=query.list();之后的代码处设个端点,看看出来的是什么对象...........

你把这个查询
select bean.keyValue,bean.showName from Dictionary bean
直接改成
select bean from Dictionary bean
返回一个对象的 List 不行吗?

追问

for (Iterator iter = dictionaries.iterator(); iter.hasNext();)
{
System.out.println(iter.next());
}
输出查出的三个对象
[Ljava.lang.Object;@1000323
[Ljava.lang.Object;@1ce154c
[Ljava.lang.Object;@d868e5

追答

出来的是一个对象啊, 你Debug了没有,这跟上面的问题还是一样的,问题是你都不知道这个对象是什么.....

切到Debug视图 ,跟踪一下 查询出来的List 里的对象类型是什么

刚刚查了一下,你先把你泛型去掉吧(你都不知道返回的dictionaries里装的是不是Sting[])
所以:你这样写吧
for(int i=0;i<dictionary.size();i++)
{
Object [] obj=(Object[])dictionary.get(i);
System.out.println(obj[0]+"------"+obj[1]);
}

参考:写不上了,不知道为什么....链接贴不了

温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网