2017-10-11 58 views
0

我已经做了泛型列表类:不能让一个JSON(与GSON)出一个通用的列表

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));/
    } 
} 

其OFC不是整个类,但我认为,它的重要组成部分,为我的问题。 我还有另一个课程来制作那些“Fahrzeug” - 对象,例如汽车或公共汽车... 我通过GUI添加到这个列表中的那些对象,并且在我的GUI中,我添加了一个按钮,我想将这个列表保存为JSON,所以,当我再次启动我的程序时,首先从我的列表中删除信息,然后使用它。 在我的GUI类,我实现下面的方法为按钮“保存”:

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); 
    } 
} 

不知怎的,我收到此错误信息:

异常在线程“AWT-EventQueue的 - 0” java.lang.StackOverflowError的

有人可以帮我吗? :)

+0

错误#1 - 你可能有一个无限递归的代码的某个地方。 –

回答

0
private transient List<TableModelListener> tableListener = new ArrayList<TableModelListener>(); 

我添加关键字短暂的,一切工作现在罚款的xD

相关问题