[英]Adding a new object to an ArrayList that is an attribute of another class
嘗試將新對象添加到作為另一個類的屬性的 ArrayList 時出現錯誤。 讓我解釋。
UML
我的模型中有 2 個類:
為簡化起見,我們稱 Equipo -> Team & Jugador -> Player。
對於每個團隊將有多個玩家,因此我創建了一個 Player 類型的 ArrayList 作為 Team 類中的屬性。
Equipo
public class Equipo { private String nombre; private LocalDate fechaAlta; private String continente; private char clasificado; private ArrayList <Jugador> listaJugadores; //Muestra la relación public Equipo(String nombre, LocalDate fechaAlta, String continente, char clasificado) { this.nombre = nombre; this.fechaAlta = fechaAlta; this.continente = continente; this.clasificado = clasificado; } . . . }
朱加多爾
public class Jugador { private String jugador; private int dorsal; public Jugador(String jugador, int dorsal) { this.jugador = jugador; this.dorsal = dorsal; } . . . }
主要的
在主類中,我創建並初始化了 Teams 和 Players ArrayLists。
public static Ventana v1;
public static ArrayList <Equipo> listaEquipos;
public static ArrayList <Jugador> listaJugadores;
public static void main(String[] args) {
v1 = new Ventana();
v1.getearComboBox();
v1.setVisible(true);
//Inicializar arrays
listaEquipos = new ArrayList <Equipo>();
listaJugadores = new ArrayList <Jugador>();
我正在嘗試將一名球員添加到陣列中的最后一支球隊
public static void inscribirJugador(String nombreJugador, String dorsalString){
//Conversion del dorsal
int dorsal = Integer.parseInt(dorsalString);
listaEquipos.get(listaEquipos.size()-1).getListaJugadores().add(new Jugador("nombreJugador", dorsal));
}
但是,我收到了無法解決的 NullPointerException 錯誤。 https://imgur.com/a/Fc6ehlu
第 98 行: listaEquipos.get(listaEquipos.size()-1).getListaJugadores().add(new Jugador("nombreJugador", dorsal));
如果您沒有在 ArrayList 中至少放置一個團隊,那么您就是在一個空對象上調用getListaJugadores
。 事實上,如果 ArrayList listaEquipos
為空,您將在調用listaEquipos.get(listaEquipos.size() -1)
方法時返回 null。 你必須至少有一支球隊來檢索球員名單!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.