recorrer - patron iterator java ejemplo
Tipo de advertencia de seguridad con iterador JSON (2)
Mi problema proviene de obtener un iterador de un JSONObject.
Código que genera error en su forma más simple:
String json = client.retrieveList();
JSONObject jsonList = new JSONObject(json);
Iterator<String> i = jsonList.keys();
while(i.hasNext())
{
String next = i.next();
JSONArray jsonArray = jsonList.getJSONArray(next);
// Do stuff with jsonArray, example: jsonArray.getString(0), jsonArray.getString(1);
}
La advertencia exacta es: Tipo de seguridad: la expresión de tipo Iterator necesita una conversión sin marcar para ajustarse a Iterator.
Entonces la pregunta es ¿cómo puedo erradicar esta advertencia?
¡Muchas gracias!
Cuando mezcla su código con antiguas API heredadas, puede recibir este tipo de advertencias. Si realmente quiere "erradicar" la advertencia, puede usar la anotación SuppressWarnings. Es una buena práctica dejar un comentario junto a la advertencia suprimida. En tu caso esto puede parecer:
@SuppressWarnings("unchecked") //Using legacy API
Iterator<String> i = jsonList.keys();
¡Aclamaciones!
Me doy cuenta de que este es un hilo viejo, pero para futuros buscadores ...
también puede inferir un genérico y emitir los retornos de los métodos del iterador ...
Iterator<?> i = jsonList.keys();
while(i.hasNext())
{
String next = (String) i.next();
...