Java: ¿Al iterar los elementos de un objeto List, tenemos que validar que sea distinto de null?
Java, Programación 19 de January del 2010
Se que es algo super básico, pero la verdad es que nunca esta de más saberlo… o recordarlo jajajaj la situación es la siguiente: cuando obtenemos una lista de un objeto cualquiera y no sabemos si tiene datos, lo mejor es validar la lista, pero si no quieres hacerlo y hacer un Iterator, púes no es necesario que valides que sea null, ya que aunque la lista no tenga elementos se crea un objeto tipo iterador por ejemplo:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | /**
*
*/
package com.test.serunix;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
/**
* @author serunix.com
*
*/
public class TestList {
/**
* @param args
*/
public static void main(String[] args) {
// creamos un tipo lista vació
List<String> list = new ArrayList<String>();
// creamos el itelador (se que se puede iterar de otra manera a partir de java 1.5)
Iterator<String> ite = list.iterator();
// no validamos el iterador
while(ite.hasNext()) // así que el iterador revisa si hay elementos, de lo contrario no sigue el bucle.
{
String value = (String) ite.next();
}
}
} |
En otras palabras, siempre se crea un tipo lista así que no daría un java.lang.NullPointerException sólo ocurría esta excepción si la lista fuera inicializada como un null o que el método regrese un null por ejemplo:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | /**
*
*/
package com.test.serunix;
import java.util.Iterator;
import java.util.List;
/**
* @author serunix.com
*
*/
public class TestList {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
List<String> list = obtainListElement();
Iterator<String> ite = list.iterator();
while(ite.hasNext())
{
String value = (String) ite.next();
}
}
public static List<String> obtainListElement() {
List<String> list = null;
return list;
}
} |
Así que cada quien sabe que hace en cada caso.
Sobre mí







Información Bitacoras.com…
Valora en Bitacoras.com: Se que es algo super básico, pero la verdad es que nunca esta de más saberlo… o recordarlo jajajaj la situación es la siguiente: cuando obtenemos una lista de un objeto cualquiera y no sabemos si tiene datos, lo mejor es vali…..