求一些关于Vector的用法??
数据表中的记录是
A A A A A
B B B B B
在把resultset放到jtable中时,这样写:
Vector vCell = new Vector();
while (rs.next()) {
vCell.clear();
for (int i = 1; i <= rs.getMetaData().getColumnCount(); i++)
vCell.add(rs.getObject(i));
vData.add(vCell);
}
结果table中就是错误的:
A A A A A
A A A A A
如果这样写:
Vector vCell = null;
while (rs.next()) {
vCell = new Vector();
for (int i = 1; i <= rs.getMetaData().getColumnCount(); i++)
vCell.add(rs.getObject(i));
vData.add(vCell);
}
结果table中就是正确的:
A A A A A
B B B B B
这是为什么??第一种写法我不是用vCell.clear()清空了吗?那应该就循环下一条记录啊!!
------解决方案--------------------vData.add(vCell);
这个add的进去的element是refence,都指向同一块内存,不是具体的字面值。当你再去枚举这个refence指向的内存的值时,他们都指向了你最后一次给他们赋的值。估计应该都是字面值 "B ".