尝试将新对象添加到ArrayList时,我会遇到错误,该对象是另一类的属性。让我解释一下。
uml
我的模型中确实有两个类:
- Equipo
- jugador
简化事情,让我们致电Equipo-> Team&jugador->玩家。
对于每个团队,都会有多个球员,因此我创建了一个类型播放器的数组列表作为团队类中的属性。
-
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; } . . . }
-
jugador
public class Jugador { private String jugador; private int dorsal; public Jugador(String jugador, int dorsal) { this.jugador = jugador; this.dorsal = dorsal; } . . . }
MAIN
在主要班级中,我创建并初始化了团队和玩家阵列。
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://i.stack.imgur.com/hqfgw.jpg
第98行:listaEquipos.get(listaEquipos.size()-1).getListaJugadores().add(new Jugador("nombreJugador", dorsal));
如果您没有在数组列表中至少放置一个团队,则在null对象上调用getListaJugadores
。实际上,如果ArrayList listaEquipos
为空,则将在方法调用listaEquipos.get(listaEquipos.size() -1)
上返回null。您必须至少有一个团队来检索球员名单!