Foros del Web » Programación para mayores de 30 ;) » Java »

ArrayList.get + validar null

Estas en el tema de ArrayList.get + validar null en el foro de Java en Foros del Web. Saludos! Tengo un ArrayList de Personas el cual lleno con con JPA, hasta aqui todo bien. Para leer un elemento del ArrayList hago algo como ...
  #1 (permalink)  
Antiguo 19/05/2011, 11:24
 
Fecha de Ingreso: marzo-2005
Mensajes: 309
Antigüedad: 19 años, 2 meses
Puntos: 1
ArrayList.get + validar null

Saludos!

Tengo un ArrayList de Personas el cual lleno con con JPA, hasta aqui todo bien.

Para leer un elemento del ArrayList hago algo como esto:
persona = nivelesPresupuestarios.get(0);

Sin embargo, antes de poder leer un determinado elemento, deseo validar que esa posicion en el ArrayList no este null, yo hago algo como lo que sigue:

if (nivelesPresupuestarios.get(5) != null) {
//se ejecuta cualquier cosa
}

El problema es que si el ArrayList solo tiene digamos 3 elementos, entonces obtengo un error de java.lang.IndexOutOfBoundsException: Index: 5, Size: 5

Como puedo hacer para validar que un determinado elemento del ArrayList no este null?

Saludos y muchas gracias.
  #2 (permalink)  
Antiguo 19/05/2011, 11:32
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 13 años
Puntos: 344
Respuesta: ArrayList.get + validar null

El problema es que te sales de los límites del arraylist. Para ello comprueba primero con el método length que el índice que buscas sea menor que el tamaño del array.
  #3 (permalink)  
Antiguo 20/05/2011, 17:30
 
Fecha de Ingreso: enero-2008
Mensajes: 197
Antigüedad: 16 años, 4 meses
Puntos: 10
Respuesta: ArrayList.get + validar null

Hola,

Usa una lista genérica y un for each loop.

Código Java:
Ver original
  1. List<Persona> lista = service.getListaDePersonas();
  2.  
  3. for (Persona persona : lista) {
  4. if(persona != null) {
  5. // logica
  6. }
  7.  
  8. }

Saludos!

Etiquetas: null
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:29.