Conversión no verificada
No quiero suprimir las advertencias. ¿Hay otra manera de manejar esta advertencia?
"La expresión del tipo Iterator necesita una conversión sin verificar para que se ajuste a Iterator"
- Cómo obtener malformado JSON en Retrofit 2
- Convertir el número decimal json a corto con valor hexadecimal
- Org.json.JSONException: Cadena no terminada en el carácter 1834
- JSON a clase Java
- Convierta el Array de Java normal o ArrayList a Json Array en android
Iterator<String> it = schemaJSON.getJSONObject("body").keys();
- Deserialización de JsonArray y JsonObject de Android
- Los parámetros de clase anidados de Gson no tienen valores
- Cómo tomar array de json respuesta en java
- ProgressDialog o ProgressBar ralentiza la aplicación que ejecuta Android 4.1
- ¿Por qué recibo una respuesta vacía cuando mi aplicación android llama a mi API en mi servidor?
- Pojo analiza gson con nombres de java no válidos
- Cómo recuperar array multidimensional usando json en android
- El servidor GCM de Google devuelve Error no autorizado 401
Puede encontrar su respuesta aquí: Tipo Advertencia de seguridad con Iterator JSON
Iterator<?> it = schemaJSON.getJSONObject("body").keys(); while(it.hasNext()) { String next = (String) it.next(); ...
Si sólo desea eliminar la advertencia,
"La expresión del tipo Iterator necesita una conversión sin verificar para que se ajuste a Iterator"
Entonces haz esto,
Iterator<String> it = (Iterator<String>)schemaJSON.getJSONObject("body").keys();
Pero este resultado en una nueva advertencia, pero su antigua advertencia se elimina.
Type safety: Unchecked cast from Iterator to Iterator<String>
Para eliminar todas sus advertencias,
Iterator<?> it = schemaJSON.getJSONObject("body").keys(); while(it.hasNext()) { String nextElement = (String) it.next();
No se puede evitar esta advertencia, ya que el androide JSONObject#keys()
devuelve un Iterator
'raw'. Pero puede suprimir las advertencias con la anotación @SuppressWarnings
:
@SuppressWarnings("unchecked") Iterator<String> it = schemaJSON.getJSONObject("body").keys();
Creo que keys()
devuelve una instancia de Iterator
, no un Iterator<String>
, por lo que o dejar la String
distancia o simplemente vivir con la advertencia 😉