Итерация по списку ArrayList
Ошибка возникает из-за того, что ваш код должен объявить, что b
является Object
(поскольку injectQueries
содержит объекты типа Object
, а не объекты типа ArrayList
):
for(Object b : injectQueries){
...
}
Поскольку класс NSDictionary
в Objective-C очень похож на класс Map
в Java, вы можете имитировать код Objective C, приведяb
как Map
или, что еще лучше, вы можете использовать универсальные шаблоны, чтобы указать, что injectQueries
содержит Map
объектов.Например:
public boolean processSqlInjectQueries(List<Map<String,String> injectQueries, Exception error) {
// some code
for(Map<String,String> b : injectQueries) {
...
}
// some code
return true;
}
Обработка исключений
Что касается вашего второго вопроса, методы в Java обычно сообщают об ошибках, бросая объекты Exception
, поэтому ваша сигнатура методабудет выглядеть следующим образом:
public boolean processSqlInjectQueries(List<Map<String,String> injectQueries) throws Exception
Обратите внимание, что всегда лучше быть точным с вашими исключениями (то есть бросать объекты, которые являются подклассами Exception
), так что вызывающий ваш метод имеет некоторое представление о том, что пошло не так,Смотрите следующую ссылку для получения дополнительных рекомендаций по обработке исключений в Java:
http://www.javapractices.com/home/HomeAction.do#Exceptions