gpt4 book ai didi

java - 将 Jtable 保存到我使用 boolean 列创建的文件中

转载 作者:行者123 更新时间:2023-12-01 11:32:21 28 4
gpt4 key购买 nike

我试图在退出时保存 jtable,但我不能,因为我的列之一有一个 boolean 值。谁能向我解释如何摆脱 java.lang.ClassCastException: java.lang.Boolean cannot be cast to java.lang.String

这是我在退出时保存的代码。

private void btnBckMouseClicked(java.awt.event.MouseEvent evt) {                                    
BufferedWriter bfw = null;
try {
bfw = new BufferedWriter(new FileWriter(filePath));
for(int i = 0 ; i < tabTask.getColumnCount() ; i++)
{
bfw.write(tabTask.getColumnName(i));
bfw.write("\t");
} for (int i = 0 ; i < tabTask.getRowCount(); i++)
{
bfw.newLine();
for(int j = 0 ; j < tabTask.getColumnCount();j++)
{
bfw.write((String)(tabTask.getValueAt(i,j)));
bfw.write("\t");
}
} bfw.close();
fireBackEvent();
} catch (IOException ex) {
Logger.getLogger(SubList.class.getName()).log(Level.SEVERE, null, ex);
} finally {
try {
bfw.close();
} catch (IOException ex) {
Logger.getLogger(SubList.class.getName()).log(Level.SEVERE, null, ex);
}

}
}

最佳答案

显然,bfw.write((String)(tabTask.getValueAt(i,j))); 行不正确。如果您有 boolean 列,则无法将其转换为字符串。

使用例如bfw.write(""+tabTask.getValueAt(i,j));

或者检查类别并根据类别强制转换值。像这样

Object value=tabTask.getValueAt(i,j);
if (value!=null) {
if (value instanceof String) {
bfw.write((String)value);
}
else if (value instanceof Boolean) {
bfw.write(Boolean.toString(value));
}
}

关于java - 将 Jtable 保存到我使用 boolean 列创建的文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30295724/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com