У меня есть код, который использует итератор org.json.JSONObject
JSONObject obj = new JSONObject();
obj.put("key1", "value1");
obj.put("key2", "value2");
Iterator keys = obj.keys();
...
С предупреждением компиляции
Iterator is a raw type. References to generic type Iterator<E> should be parameterized
Я могу обновить до универсальной версии:
Iterator<?> keys = obj.keys();
Но разве нет способа "обобщить" JSONObject
с помощью String
ключей?
Я нахожу этот ответ , но его предложение не даетскомпилировано
JSONObject<String,Object> obj=new JSONObject<String,Object>();
РЕДАКТИРОВАТЬ
Использование Iterator<String> keys = obj.keys();
Я получаю предупреждение безопасности типа:
Type safety: The expression of type Iterator needs unchecked conversion to conform to Iterator<String>
Кроме того, использование обобщений Eclipse Infer не приводит к изменениям кода