如何将包含数组的String转换为可以加载到DefaultTableModel中的Vector

时间:2017-01-11 10:12:30

标签: java string vector properties save

目的是我想使用Properties将jTable(DefaultTableModel)的内容保存并加载到文件中。使用主要类中的这一行可以保存内容:

prop.setProperty("extraProfiles", extraRC.saveExtraProfiles());

包含该表的类有一个getter:

public String saveExtraProfiles() {
    return model.getDataVector().toString();
}

我得到的结果是:[[Zijborstelprofiel - P3A314,Anodisé,2000,1],[L-Profiel 15 x 15,Anodisé,2000,1],[L-Profiel 15 x 15,Anodisé,2000,1 ]

现在我想在重新打开程序时将这个保存的字符串加载到表中:

extraRC.setExtraProfiles(prop.getProperty("extraProfiles", ""));

现在,setter看起来像这样:

public void setExtraProfiles(String dataVector) {
    if (!dataVector.equals("")) {
        Vector<String> vectordata = new Vector<String>(Arrays.asList(dataVector));

        Vector<String> columns = new Vector<String>();
        for (int c = 0; c < model.getColumnCount(); c++) {
            columns.add(model.getColumnName(c));
        }
        model.setDataVector(vectordata, columns);
    }
}

但抛出异常:线程“AWT-EventQueue-0”中的异常java.lang.ClassCastException:java.lang.String无法强制转换为java.util.Vector

任何解决方案?

提前致谢!

0 个答案:

没有答案