我制作了一个通用列表类:
public class FahrzeugListe<T extends Fahrzeug> implements TableModel {
private T[] array;
private int nextFreeSlot = 0;
private List<TableModelListener> tableListener = new ArrayList<TableModelListener>();
public FahrzeugListe(int capacity){
array = (T[]) new Fahrzeug[capacity];
}
public void add (T o){
if(nextFreeSlot == array.length){
throw new IllegalStateException("Liste ist voll!");
}
array[nextFreeSlot] = o;
nextFreeSlot++;
for(TableModelListener l : tableListener){
l.tableChanged(new TableModelEvent(this)); /
}
}
它不是全班,但我想,它是我问题的重要部分。 我有另一个课程来制作那些&#34; Fahrzeug&#34; -objects,例如汽车或公共汽车...... 我通过GUI将这些对象添加到此列表中,并且在我的GUI中添加了一个按钮,我想将此列表保存到JSON,因此,当我再次启动我的程序时,我可以先从列表中取出信息,然后使用它。 在我的GUI类中,我为按钮实现了以下方法&#34; Save&#34;:
private class SaveListener implements ActionListener{
@Override
public void actionPerformed(ActionEvent e) {
String json = new Gson().toJson(fahrzeugListe);
System.out.println("The text, should be written in jason: " +json);
}
}
不知怎的,我收到此错误消息:
线程中的异常&#34; AWT-EventQueue-0&#34; java.lang.StackOverflowError的
有人可以帮我吗? :)
答案 0 :(得分:0)
private transient List<TableModelListener> tableListener = new ArrayList<TableModelListener>();
我添加了关键字transient,现在一切正常xD