0

Estoy construyendo un prototipo de agenda para guardar datos y citas. Debo estar cometiendo algún error tonto que no logro ver. Al crear una instancia me da error. Os dejo parte del código a ver si podéis ver que ocasiona el NullPointerException.

public class Agenda {

String nombreAgenda;

List<Cita> listaCitas;
Set<DayOfWeek> diasNoHabiles;
Map<String, IntervaloFechas> mapaPeriodos;
final int MAX_CITAS_DIA;

public Agenda(String nombreAgenda, int MAX_CITAS_DIA, Set<DayOfWeek> diasNoHabiles,
        Map<String, IntervaloFechas> mapaPeriodos) {

}

public static Agenda buildSampleAgenda() {
    Cliente[] clientes;
    Cita c1;

    Agenda sample = new Agenda("SAMPLE", 10, noHabiles, noLaborables);

    clientes = Persona.buildSamplePersonas();

    c1 = new Cita(clientes[0], LocalDateTime.parse("2019-02-19T20:00:00"), "Arreglar frigorífico.");

    sample.listaCitas.add(c1);

    return sample;

}

}

He omitido parte del código, pero en conclusión es que tengo un método constructor y otro estático que me construye la Agenda. Recalco que todo me funciona correctamente y se crea la instancia, hasta que intento agregar un elemento a la lista:

sample.listaCitas.add(c1);

Si hago:

public static void main(String[] args) {
    Agenda nueva = Agenda.buildSampleAgenda();

}

me marca NullPointerException en la línea de añadir a la lista...

A ver como podría subsanar el error.

Gracias, un saludo a la comunidad.

p3ta0
  • 37
  • 5
  • Sí sé que es una pregunta recurrente. He leído ese post, he probado a inicializar, entre otros consejos, pero... aún no he visto el fallo. Gracias. – p3ta0 Feb 27 '20 at 15:39
  • 1
    Falta código para poder ver cual sería el problema, aun así es algo que tienes que depurar. Seguramente `listaCitas` sea `null` o `sample` y al acceder a el es cuando salta el `NPE`. – x3k Feb 27 '20 at 15:49
  • Añade código faltante y muestranos el log. – Omar Feb 27 '20 at 15:51
  • 1
    como sabes que se creo bien la instancia? listaCitas esta siendo inicializado? – userStack Feb 27 '20 at 15:58
  • Ya está solucionado. Error muy tonto por mi parte. No estaba inicializado del todo. Me faltaba ésto: List listaCitas = new ArrayList(); osea la segunda parte. Gracias a todos por aclararme un poco. – p3ta0 Feb 27 '20 at 15:59

1 Answers1

-1

Cuando accedes a listaCitas para añadir el elemento c1 aún no has inicializado esta variable y debido a eso te salta el NullPointerException.

ivangice
  • 22
  • 1
  • Gracias por tu contribución. recuerda revisar [ask] para conocer como realizar respuestas en el sitio, saludos. – Jorgesys Feb 27 '20 at 16:14