簡體   English   中英

使用getter / setter向列表添加元素

[英]Adding elements to list using getter/setter

每次我調用inserimentoVoto方法在對象Studente中包含的列表中添加元素時,數據就會被覆蓋,我知道這很容易,但是我才開始編寫代碼。

public class Run {

    public static void main(String[] args) {

        Gestione g = new Gestione();
        Studente s = new Studente();

        g.inserimentoVoto(s);

    }
}

這是方法

public void inserimentoVoto(Studente s) {

        Voto v = new Voto();
        System.out.println("Insert value");
        v.setVoto(scanner.next());
        System.out.println("Insert name");
        v.setMateria(scanner.next());
        v.setDataVoto(new Date());

        s.setListaVoti(new ArrayList<Voto>());
        s.getListaVoti().add(v);
    }
s.setListaVoti(new ArrayList<Voto>());

您每次都在創建一個新的ArrayList

上一行僅在Studente類中執行一次。

public class Studente 

{

private ArrayList<Voto> arr = new ArrayList<Voto>();

... Other data ...

public ArrayList<Voto> getListaVoti()
{
     return arr;
}

... Other methods ...

}

您根本不需要setListaVoti因為它只完成了一次。

inserimentoVoto方法中,您只需要

s.getListaVoti().add(v);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM