Hola:
Tal cual tienes el primer trozo de código, patrocinadoes es una variable local dentro del constructor, en cuanto termina el constructor desaparece. El segundo trozo de código no debería ni siquiera compilar, ya que miEvento.patrocinadores no existe.
Si te compila, y por el error que dices que da, seguramente, además de lo que tienes en el primer trozo de código tienes un atributo patrocinadoes
Código Java:
Ver originalpublic class Evento {
public ArrayList<String> patrocinadores;
public Evento() {
super();
ArrayList<String> patrocinadores = new ArrayList<String>();
this.fechaInicio = null;
this.fechaFin = null;
this.nombreEvento = "Evento sin nombrar";
this.descripción = "Evento sin describir";
this.ciudad = "Evento sin ubicar";
String sinpatrocinador
= "Sin patrocinador"; patrocinadores.add(sinpatrocinador);
}
}
Si es así, tienes declaradas DOS variables patrocinadores, la primera como atributo de la clase, a null y que nunca rellenas, la segunda declarada dentro del constructor, que rellenas y se pierde en cuanto sales del constructor. Dentro del constructor tienes que quitar la declaración, para así usar la que es atributo.
Código Java:
Ver originalpublic class Evento {
public ArrayList<String> patrocinadores;
public Evento() {
super();
// En vez de esto
// ArrayList<String> patrocinadores = new ArrayList<String>();
// pon esto
patrocinadores = new ArrayList<String>();
this.fechaInicio = null;
this.fechaFin = null;
this.nombreEvento = "Evento sin nombrar";
this.descripción = "Evento sin describir";
this.ciudad = "Evento sin ubicar";
String sinpatrocinador
= "Sin patrocinador"; patrocinadores.add(sinpatrocinador);
}
}
Se bueno.