У меня есть экземпляр JSONArray
, и мне было просто любопытно, могу ли я использовать каждую конструкцию для работы с каждым элементом в последовательности. Поэтому я пробовал:Должен ли я использовать Java для каждого с типом Object?
for(Object jsonObj: jsonArray) {
System.out.println("JSONArray element: '" + ((JSONObject)jsonObj).toString() + "'");
}
К моему удивлению, это сработало. Я думал, что мне нужно будет работать с классами, которые реализуют Iterable.
Итак, если вы можете ответить на мой первоначальный вопрос (используя для каждого на JSONArray
), это здорово. Также:
- 2-й вопрос: Почему он работает?
- 3-й вопрос: Должен ли я быть лишен фактического использования этого кода доставки?
Спасибо всем!
JsonArray * is * итерируемый. Тот факт, что вы неявно бросаете каждый элемент, возвращенный итератором на 'Object', действительно не имеет никакого отношения. И * почему бы вам это сделать, был бы вопрос, который я задал бы ... –
@BrianRoach, где он говорит это в документах? –
@Christian - Какие документы? * Он компилируется *, поэтому он реализует 'Iterable'. –