Существует ли такая вещь как некоторое время каждый цикл в Java?

Apple docs To Many Relations гласит: вы должны получить доступ к изменяемому набору прокси или упорядоченному набору, используя

NSMutableOrderedSet * set = [managedObject mutableOrderedSetValueForKey:@"toManyRelation"];

. Изменение этого набора добавит или удалит отношения к вашему управляемому объекту. Доступ к изменяемому упорядоченному набору с помощью метода доступа с помощью [] или. запись неверна и потерпит неудачу.

6
задан soldier.moth 30 June 2009 в 22:37
поделиться

3 ответа

Нет, наиболее близким было бы:

for (Integer item : group<Integer>)
{
    if (item <= 5)
    {
        break;
    }
    //do something
}

Конечно, если Java когда-либо получит краткие замыкания, было бы разумно написать что-то вроде метода .NET Enumerable.TakeWhile , чтобы обернуть итерируемый объект ( group в данном случае) и преждевременно завершить выполнение, если условие перестает выполняться.

Конечно, это выполнимо даже сейчас, но код для этого был бы некрасивым. Для справки, C # будет выглядеть так:

foreach (int item in group.TakeWhile(x => x > 5))
{
    // do something
}

Может быть, Java когда-нибудь получит хорошие закрытия ...

7
ответ дан 8 December 2019 в 18:40
поделиться
for(Integer item : group<Integer>)
{
    if (item <= 5)
         break;
    //do something
}

Вот что я могу придумать.

3
ответ дан 8 December 2019 в 18:40
поделиться

Для справки: второй ответ Джона Скита на Java в настоящее время для некоторого интерфейса Predicate будет выглядеть примерно так:

for (int item : takeWhile(group, new Predicate<Integer>() {
    public boolean contains(Integer x) {
        return x > 5;
    }
}) {
    // do something
}

Отстойен синтаксис, а не семантика.

3
ответ дан 8 December 2019 в 18:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: