Tipo Advertencia de seguridad con Iterator JSON

Mi problema viene de conseguir un Iterator de un JSONObject.

Código generador de 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: Seguridad de tipo: La expresión del tipo Iterator necesita una conversión sin marcar para ajustarse a Iterator

Así que la pregunta es ¿cómo puedo erradicar esta advertencia?

¡Muchas gracias!

Me doy cuenta de que este es un hilo antiguo, pero para los futuros buscadores …

También puede inferir un genérico y emitir los retornos de los métodos iterador …

 Iterator<?> i = jsonList.keys(); while(i.hasNext()) { String next = (String) i.next(); ... 

Cuando mezcla su código con las antiguas API-s heredadas, puede obtener este tipo de advertencias. Si realmente desea "erradicar" la advertencia, puede utilizar la anotación SuppressWarnings. Es una buena práctica dejar un comentario junto a una advertencia suprimida. En su caso esto puede parecer:

 @SuppressWarnings("unchecked") //Using legacy API Iterator<String> i = jsonList.keys(); 

¡Aclamaciones!

  • Android - ¿cómo analizar JsonArray de cadena?
  • Retrofit 2 - obtiene error-objeto JSON (POJO pocos para la misma solicitud)
  • No se puede deserializar la instancia de java.lang.String fuera de START_ARRAY
  • AFNetworking para Android
  • Utilizar JAXB (xjc) clases generadas en android
  • OutOfMemoryError mientras JSON analiza en android
  • Retrofit 2.0 Convertor devuelve NULL
  • Cómo mantener la posición de desplazamiento de listview cuando se actualiza
  • Publicar un servicio JSONArray en WCF desde android
  • Cómo ignorar un elemento JSON en Android Retrofit
  • GSON evitar el JsonSyntaxException devolver el mapeo parcial
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.