Size: a a a

Programming Offtop

2020 March 17

AN

Alexander Nozik in Programming Offtop
Хотя не, чего это я. Зачем там стрим и коллект...
источник

AA

Andrey Akimov in Programming Offtop
объясните кратко нубу, что не так?
источник

AL

Alexander Levin in Programming Offtop
Andrey Akimov
объясните кратко нубу, что не так?
Есть два варианта (предполагая, что логику не меняем и функциональные подходы не тащим):
final var oldList = ... //some list init that cannot do setCreateDate for some reason
for (var elem : oldList) {
   elem.setCreateDate(date)
}

(на усмотрение автора может быть также oldList.forEach(obj -> ...), val из Ломбока, Котлин и тд)
и то, что выше (строка с первичной инициализацией листа конечно же тоже присутствует, только не final)

Что выбираем?
источник

D

Denys in Programming Offtop
Alexander Levin
Есть два варианта (предполагая, что логику не меняем и функциональные подходы не тащим):
final var oldList = ... //some list init that cannot do setCreateDate for some reason
for (var elem : oldList) {
   elem.setCreateDate(date)
}

(на усмотрение автора может быть также oldList.forEach(obj -> ...), val из Ломбока, Котлин и тд)
и то, что выше (строка с первичной инициализацией листа конечно же тоже присутствует, только не final)

Что выбираем?
forEach {} :)
источник

AL

Alexander Levin in Programming Offtop
Denys
forEach {} :)
forEach джавовый и Котлин уже упомянуты в секции авторского стиля
источник

D

Denys in Programming Offtop
Даже onEach {} если в две строки нужно
источник

AA

Andrey Akimov in Programming Offtop
Alexander Levin
Есть два варианта (предполагая, что логику не меняем и функциональные подходы не тащим):
final var oldList = ... //some list init that cannot do setCreateDate for some reason
for (var elem : oldList) {
   elem.setCreateDate(date)
}

(на усмотрение автора может быть также oldList.forEach(obj -> ...), val из Ломбока, Котлин и тд)
и то, что выше (строка с первичной инициализацией листа конечно же тоже присутствует, только не final)

Что выбираем?
не, это всё понятно. Почему если весь проект на стримах написан,  надо выбирать forEach?
источник

U

Unat in Programming Offtop
Andrey Akimov
не, это всё понятно. Почему если весь проект на стримах написан,  надо выбирать forEach?
Потому что создать стрим из списка, а потом создать список из стрима - затея ниже среднего, если ты просто вызываешь методы у элементов списка
источник

U

Unat in Programming Offtop
Это как выполнять элементарную арифметику в корутинах
источник

U

Unat in Programming Offtop
буквально val c = async { a + b } .await()
источник

U

Unat in Programming Offtop
бред же
источник

AA

Andrey Akimov in Programming Offtop
ну да, наверное стримы для такого избыточны
источник

U

Unat in Programming Offtop
С другой стороны, все ведь знают, что мутабельный код быстрее
источник

U

Unat in Programming Offtop
А тут он максимально мутабельный
источник

U

Unat in Programming Offtop
Возможно, сделано ради перфоманса
источник

AA

Andrey Akimov in Programming Offtop
опять нубский вопрос. Повсюду только и твердят, что классы должны быть иммутабельными. Но как быть, если мне действительно надо изменять в них значения? Я что-то неправильно понимаю?
источник

U

Unat in Programming Offtop
Andrey Akimov
опять нубский вопрос. Повсюду только и твердят, что классы должны быть иммутабельными. Но как быть, если мне действительно надо изменять в них значения? Я что-то неправильно понимаю?
Да, ты что-то неправильно понимаешь
источник

U

Unat in Programming Offtop
Иммутабельные структуры (не классы) проще при многопоточном/конкурентном (тут я путаюсь, честно, но имхо в обоих случаях верно) использовании
источник

U

Unat in Programming Offtop
Ну а однопоточных программ у тебя, скорее всего, нет
источник

U

Unat in Programming Offtop
А, ещё ссылочная прозрачность!
источник