Kennt sich jemand gut mit Reflection aus und weiß wie das geht?
Daten:
class Data implements Serializable {
//...
double[] minMaxAndAvg = new double[9];
//...
}
Thread:
DefaultTableModel tm2 = new DefaultTableModel(new String[]{"Name", "Value"}, 24);
//...
int i = 0;
for (Field declaredField : data.getClass().getDeclaredFields()) {
add(i++, declaredField.getName(), declaredField.get(data));
}
//...
void add(int index, String name, Object value) {
if (value == null) {
addTm2Value(index, name, "null");
} else {
if (value.getClass().isArray()) {
addTm2Value(index, name, Arrays.toString((Object[]) value)); /* Hier tritt ein Fehler auf... */
} else if (value instanceof Collection) {
addTm2Value(index, name, ((Collection) value).size());
} else if (value instanceof Map) {
addTm2Value(index, name, ((Map) value).size());
} else {
addTm2Value(index, name, value.toString());
}
}
}
//...
void addTm2Value(int index, String name, Object value) {
tm2.setValueAt(name, index, 0);
tm2.setValueAt(value, index, 1);
tm2.fireTableDataChanged();
}
Fehler:
Exception in thread "Thread-2" java.lang.ClassCastException: [D cannot be cast to [Ljava.lang.Object;
//...