Я публикую то, что я считаю соответствующим кодом.В классе таблицы у меня есть:
class Table extends AbstractTableModel {
private List<String> columnHeaders;
private List<Object> tableData;
public Table(SortedSet<String> oznake, List<Object> aRows) {
columnHeaders= new ArrayList<String>(oznake);
tableData= new ArrayList<Object>(aRows);
System.out.println(" tableData:" + tableData.size() + " "+ tableData);
}
public int getColumnCount() {
return columnHeaders.size();
}
public int getRowCount() {
return tableData.size();
}
public Object getValueAt(int row, int column) {
List rowData = (List)(tableData.get(row));
return (String)rowData.get(column);
}
public String getColumnName(int column) {
return (String)(columnHeaders.get(column));
}
}
В XmlRead у меня есть:
public class XmlRead {
public List<Object> getTable() {
Map<String, String> rowMap = new LinkedHashMap<>();
List<Object> aRows = new ArrayList<>();
rowMap.put(sOznaka, parser.getText());
aRows.add(Arrays.toString(rowMap.values().toArray(new String[rowMap.size()])));
return (List<Object>)aRows;
}
}
Я получаю из класса таблицы:
tableData:3 [[2007-01-01, 27.485, 156.93, 0, 1.3170], [2019-05-06, 25.715, 0, 124.13, 1.1199], [2019-05-09, 25.718, 122.91, 0, 1.1193]]
Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: class java.lang.String cannot be cast to class java.util.List (java.lang.String and java.util.List are in module java.base of loader 'bootstrap')
at irose.IroseTable.getValueAt(IroseTable.java:71)
Это выглядит как проблемастрока:
List rowData = (List)(tableData.get(row));
Я не могу понять, почему.Кажется, я должен получить объекты из списка, которые имеют 3 массива.
[[2007-01-01, 27.485, 156.93, 0, 1.3170], [2019-05-06, 25.715, 0, 124.13, 1.1199], [2019-05-09, 25.718, 122.91, 0, 1.1193]]
Как я могу получить Объект из этого массива, то есть, если я хочу просто:
2007-01-01
Как я могу это сделать?