Java遇到的一个小问题

来源:互联网 发布:nginx 代理内网发邮件 编辑:程序博客网 时间:2024/05/07 20:42

昨晚弄一个Java读数据库写入Excle文件小程序,发现从数据库中读出来的数全为空,原来是犯了常识性的错误,代码如下:

ResultSet rs = stat.executeQuery(sql);    while (rs.next()) {    for (String str : columns) {    result.put(str, "" + rs.getString(str));    System.out.println(str + ":" + rs.getString(str));    }    resultSets.add(result);    result.clear();    }    rs.close();

在读出结果后存入一个hashMap result中,把resultadd到resultSet中,后者是一个List,为了不让之前结果干扰到HashMap,突发奇想用了Clear,结果在后面的读取中resultSet全空,但是长度竟然是对的。。。。


小错误,还是基础不够扎实,对Java了解太少,修改了一下,编程新建一个HashMap就ok了,没看资料,说明List添加进去的是引用而不是值复制。


同样的,java中按值传递还是按引用传递的问题需要留意。

原创粉丝点击