Ver Mensaje Individual
  #2 (permalink)  
Antiguo 11/12/2015, 11:14
Avatar de chuidiang
chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 20 años, 1 mes
Puntos: 454
Respuesta: Como rellenar un ArrayList que es atributo de una clase

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 original
  1. public class Evento {
  2. public ArrayList<String> patrocinadores;
  3. public Evento() {
  4.          
  5.         super();
  6.         ArrayList<String> patrocinadores = new ArrayList<String>();
  7.  
  8.         this.fechaInicio = null;
  9.         this.fechaFin = null;
  10.         this.nombreEvento = "Evento sin nombrar";
  11.         this.descripción = "Evento sin describir";
  12.         this.ciudad = "Evento sin ubicar";
  13.         String sinpatrocinador = "Sin patrocinador";
  14.         patrocinadores.add(sinpatrocinador);
  15.                  
  16.     }  
  17. }

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 original
  1. public class Evento {
  2. public ArrayList<String> patrocinadores;
  3. public Evento() {
  4.          
  5.         super();
  6.  
  7.          // En vez de esto
  8.         // ArrayList<String> patrocinadores = new ArrayList<String>();
  9.  
  10.          // pon esto
  11.          patrocinadores = new ArrayList<String>();
  12.  
  13.         this.fechaInicio = null;
  14.         this.fechaFin = null;
  15.         this.nombreEvento = "Evento sin nombrar";
  16.         this.descripción = "Evento sin describir";
  17.         this.ciudad = "Evento sin ubicar";
  18.         String sinpatrocinador = "Sin patrocinador";
  19.         patrocinadores.add(sinpatrocinador);
  20.                  
  21.     }  
  22. }

Se bueno.
__________________
Apuntes Java
Wiki de Programación