永发信息网

我用list的时候碰到的问题,求教

答案:4  悬赏:60  手机版
解决时间 2021-03-16 03:23
  • 提问者网友:原来太熟悉了会陌生
  • 2021-03-15 04:44
String sql = "select * as from address";
List> list = new ArrayList>();
ResultSet rs = stm.executeQuery(sql);
ResultSetMetaData rsmd = rs.getMetaData();
int cols = rsmd.getColumnCount();
while (rs.next()) {
Hashtable hash = new Hashtable();
for (int i = 1; i <= cols; i++) {
String field = (String) (rsmd.getColumnName(i));// 字段名
String value = (String) (rs.getString(i));// 字段值
if (value == null)
value = "";
hash.put(field, value);
}
// 保存当前行
list.add(hash);
}

为什么这个HASHTABLE会报错.
要怎么改.
我想要把数据库中的结果打印出来,应该怎么写
//request.setAttribute("list",list);

Multiple annotations found at this line:
- Syntax error, parameterized types are only available if source level
is 5.0
- The type Hashtable is not generic; it cannot be parameterized with
arguments
List> list = new ArrayList>();
的Hashtable,是报这个错误.
由于问题急需解决,希望有打印的详细代码
最佳答案
  • 五星知识达人网友:人類模型
  • 2021-03-15 05:29
你的JDK是5.0以下吧,那Hashtable还不支持泛型呢

不使用泛型应该就没问题了
全部回答
  • 1楼网友:渡鹤影
  • 2021-03-15 08:12
你能保证String field = (String) (rsmd.getColumnName(i));// 字段名 总不相同, Hashtable 的key是不允许有相同的的值的
  • 2楼网友:渊鱼
  • 2021-03-15 06:53
具体是什么异常请补充说明一下啊,打印的方式很简单,使用JSTL的c:forEach便利list,从中取出Hashtable就可以了。
  • 3楼网友:爱难随人意
  • 2021-03-15 06:43
你好,该构造方法的定义是:创建一个初始化为显示指定行数的新滚动列表。注意,如果指定了零行,则会按默认的四行创建列表。还要注意,列表中的可视行数一旦创建就不能更改。如果 multiplemode 的值为 true,则用户可从列表中选择多项。如果为 false,则一次只能选择一项。 唉,本来我写的是a/c/d,但是看你也没特别说明。就去掉了c/d还是自己怕给你说错了。 b选项是肯定错误的,创建了长度为10的,不代表就有10各选项,有多少选项取决于于你添加进去多少个。 再次表示歉意。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯