Size: a a a

2020 October 23

S

Sergei in learn.java
Bromles
Я пока не видел реализации, которая бы позволяла больше. Либо убогий куцый фор паскаля, либо не менее убогий форич питона. Либо си-подобный
Java Streams API заменяет for почти всегда.
источник

B

Bromles in learn.java
Ну и там уже в дискуссии пошли аргументы типа "вы все наркоманы, раз ставите фигурные скобки"
источник

B

Bromles in learn.java
Sergei
Java Streams API заменяет for почти всегда.
не касался его. Это не который лямбды и остальная функционалка? Не особо люблю. А главное - зачем? Есть какой-то выигрыш в производительности или что?
источник

Э

Эд in learn.java
Bromles
не касался его. Это не который лямбды и остальная функционалка? Не особо люблю. А главное - зачем? Есть какой-то выигрыш в производительности или что?
выглядит по-человечески
источник

S

Sergei in learn.java
Да, оно.
Основной выигрыш в более простом для понимания коде.
источник

MD

Max Demydenko in learn.java
Bromles
Там клиника уже. Причем я таких питонистов регулярно встречаю. Специально для них даже стикерпаком обзавелся
Да, классика
источник

B

Bromles in learn.java
Для меня и фор выглядит чудесно. Меня сначала мучали паскалем, а потом я наклнец дорвался до си. Это было чудесно
источник

B

Bromles in learn.java
Ну и лично для меня лямбда не выглядит читаемее нормальной функции
источник

B

Bromles in learn.java
В жабе для меня в свое время шоком стал рефлекшн апи. Та самая чудесная логика типа "мы сделаем почти чисто ооп язык, а потом добавим в него функционал, который полностью рушит один из главных принципов ооп"
источник

Д

Дима in learn.java
юзаю стрим апи когда впадлу чето делать 👍
источник

S

Sergei in learn.java
Bromles
Ну и лично для меня лямбда не выглядит читаемее нормальной функции
Я уже наверное пару лет как не использую for, и всячески рекомендую переходить на Streams API.
источник

Д

Дима in learn.java
ну на самом деле да, выигрыш в чистоте кода астрономический
источник

B

Bromles in learn.java
Integer sumOddOld = 0;
for(Integer i: collection) {
if(i % 2 != 0) {
sumOddOld += i;
}
}

Это на привычном мне языке написано

Integer sumOdd = collection.stream().filter(o -> o % 2 != 0).reduce((s1, s2) -> s1 + s2).orElse(0);

а вот это на стримах. Сейчас нагуглил
источник

B

Bromles in learn.java
Ну хреен знает, мне первый код намного привычнее и читаемее
источник

Д

Дима in learn.java
ну знаешь
источник

Д

Дима in learn.java
тут от ситуации зависит
источник

B

Bromles in learn.java
Можно пример, когда стримы будут лучше?
источник

Д

Дима in learn.java
когда у тебя хренова туча условий и можно в полной мере заюзать весь набор методов стрима, например
источник

B

Bromles in learn.java
И там так же получится длиннющая строка вызовов методов с лямбдами внутри?
источник

Д

Дима in learn.java
ну, это лучше длинной функции на два киллометра
источник