Я должен перевести следующий код с Java на Scala:
EDIT: добавлены операторы if в исходном коде (в первой версии они были забыты)
for (Iterator<ExceptionQueuedEvent> i = getUnhandledExceptionQueuedEvents().iterator(); i.hasNext();)
{
if (someCondition) {
ExceptionQueuedEvent event = i.next();
try {
//do something
} finally {
i.remove();
}
}
}
Я использую библиотеку JavaConversions, чтобы обернуть Iterable. Но так как я не использую оригинальный Iterator, я не знаю, как правильно удалить текущий элемент из коллекции так же, как я делал в Java:
import scala.collection.JavaConversions._
(...)
for (val event <- events) {
if (someCondition) {
try {
// do something
} finally {
// how can i remove the current event from events?
// the underlying type of events is java.lang.Iterable[javax.faces.event.ExceptionQueuedEvent]
}
}
}
Может кто-нибудь мне помочь?
Думаю, это легко, но я все еще новичок в Scala и не понимаю, что происходит, когда Scala оборачивает что-то из Java.