Java遇到的一个小问题

昨晚弄一个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中按值传递还是按引用传递的问题需要留意。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值