嘿,大家好,我正在做一个数据库管理器项目,但我无法显示从 JTable 上的数据库获取的所有数据。代码如下:
private Collection<Map<String, String>> allData;
private void refresh()
{
while(tableModel.getRowCount() > 0)
{
tableModel.removeRow(0);
}
try
{
allData = manager.get((String) DatabaseJList.getInstance().getSelectedObject()).getDataManager().getAllFieldsValues();
//This works fine, I have prove to print allData value and it is correct
Object[] rowToAdd = new Object[manager.get((String) DatabaseJList.getInstance().getSelectedObject()).getDataManager().getColumnNumber()];
//I create a Object[] with the number of colums size,works fine too
ArrayList<String> rowx = new ArrayList<String>();
for (Map<String, String> rowz: allData)
{
rowx = (ArrayList<String>) rowz.values();
int i = 0;
for (String str : rowx)
{
rowToAdd[i] = str;
}
}
tableModel.addRow(rowToAdd);
}
我的想法是在开始时使用刷新方法加载所有表数据,并在插入、删除、修改后再次调用它来刷新数据,但我在这里收到此错误:
java.uti.HashMap$Values 无法转换为 java.util.ArrayList
据我所知,方法 .values() 返回一个 Collection,所以不知道问题出在哪里。
非常感谢大家的帮助。
最佳答案
为什么rowx
需要为 ArrayList<String>
类型?你不能将其声明为 Collection<String>
?
关于java - 尝试显示数据库数据时转换集合时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6536673/