关于ArrayList+Hashtable

niexin 2005-08-16 03:15:30
已经从数据库中把数据取出来,放到了ResultSet里
通过Hashtable.pub()和ArrayList.add()挂在了ArrayList和Hashtable下
ArrayList里存的是多个Hashtable
问题是怎么取出来啊

for (int i =1;i<=ColumnCount;i++)
   out.print(alist.get(i).get("DOCNO").toString());//alist是ArrayList
结果报错:
我也能理解为什么会报错了
public Object get(int index)返回的是一个Object
可我存进去的Hashtable怎么取出来啊


详细代码如下:
int t = -1;
ArrayList alist=new ArrayList();
ResultSet rs = stmt.executeQuery(sql);
ResultSetMetaData rsmd = rs.getMetaData();
int ColumnCount = rsmd.getColumnCount();
Hashtable htable =new Hashtable();
while(rs.next())
{
for (int i = 1; i <= ColumnCount; i++)
{
t=rsmd.getColumnType(i);
out.println("i="+i+",t="+t+"name="+rsmd.getColumnName(i));
if(t==12||t==1||t==3)
{
if(rs.getString(i)==null|| rs.getString(i).equals(""))
htable.put(rsmd.getColumnName(i),"");
else
{htable.put(rsmd.getColumnName(i),rs.getString(i));
/*out.println(htable.get(rsmd.getColumnName(i)).toString());*/}
}
else if(t==93)
{
htable.put(rsmd.getColumnName(i),rs.getDate(i).toString());
}
else if(t==2||t==4)
{
htable.put(rsmd.getColumnName(i),Integer.toString(rs.getInt(i)));
}
}
alist.add(htable);
}
out.print(alist.get(1).getClass().toString());

for(int i =1;i<=ColumnCount;i++)
  out.print(alist.get(i).get("DOCNO").toString());
...全文
219 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
lsrj 2005-10-30
  • 打赏
  • 举报
回复
mark
niexin 2005-08-16
  • 打赏
  • 举报
回复
哈哈,谢谢谢谢,行了
还有一个
out.print("i="+i+", "+((Hashtable) alist.get(i)).get("REFNO").toString()+" ");
我这样写了,可为什么
“i=1, 00006562 i=2, 00006562 i=3, 00006562 i=4, 00006562 i=5, 00006562 i=6, 00006562 i=7, 00006562 i=8, 00006562 i=9, 00006562 i=10, 00006562 i=11, 00006562 i=12, 00006562 i=13, 00006562 ”
都一样啊?

难道我之前都取错了?
马上给分
fashchina 2005-08-16
  • 打赏
  • 举报
回复
先强制转化下,从ArrayList的get方法出来的一个object,先转化成Hashtable 然后取值
spiritsl 2005-08-16
  • 打赏
  • 举报
回复
需要类型转换((Hashtable)alist.get(i)).get("DOCNO").toString()
rower203 2005-08-16
  • 打赏
  • 举报
回复
out.print(((Hashtable) alist.get(0)).get("DOCNO").toString());
niexin 2005-08-16
  • 打赏
  • 举报
回复
能理解清楚么?
给个思路该怎么做,谢啊
rower203 2005-08-16
  • 打赏
  • 举报
回复
没有造型。
niexin 2005-08-16
  • 打赏
  • 举报
回复
:\Tomcat5\work\Catalina\localhost\sisl\org\apache\jsp\index_jsp.java:122: cannot resolve symbol
symbol : method get (java.lang.String)
location: class java.lang.Object
out.print(alist.get(i).get("DOCNO").toString());
^

81,094

社区成员

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

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