请问大家把 ResultSet 的信息转换到数组一般是怎么操作的?因为数组的元素数要根据 ResultSet 的行数决定,所以我一般是先 rs.last(); 得到行数确定数组大小,然后再 rs.beforeFirst(); 但这样做 ResultSet 类型就不能是 ResultSet.TYPE_FORWARD_ONLY,会影响速度。如果通过 select count(*) 得到行数又麻烦点,也会增加一点开销。也就是说,如果数组元素数能改变并且保留已有元素值就好了,每 next() 一次就增加一个元素。我用 VB 时通过 ReDim Preserve 实现的,delphi 也可以通过 setLeng() 实现,我对 java 不大了解,不知怎么实现的,希望大家指点。谢谢!
eg: ArrayList list = new ArrayList();
while ( rs.next()) {
list.add(rs.getString(1));
}
我也用过Vector,没用过ArrayList,觉得Vector比用数组麻烦了一点点,如使用时一般是:
classA a = (classA)v.elementAt(i);
a.method1();
a.method2();
而用数组则只要用a[i].method1();a[i].method2();就行了,并且我估计开销也少点。
不过也没麻烦多少,既然大家都这么用,那我就不那么苛求了,只是以前用惯数组而已。