powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Используете вы Optional ?
25 сообщений из 164, страница 2 из 7
Используете вы Optional ?
    #39066585
bochkov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
какаято фуета,
зачем все это
...
Рейтинг: 0 / 0
Используете вы Optional ?
    #39066588
Фотография Valentin Kolesnikov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Диез,

Можно добавить для метода get() выкидывание Exception, если absent хранит истинное значение. Только NPE и так случится, если обращаться к методам для переменной со значением null.
...
Рейтинг: 0 / 0
Используете вы Optional ?
    #39066592
Фотография Valentin Kolesnikov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bochkov,

Это обсуждение статьи https://developer.atlassian.com/blog/2015/08/optional-broken/

У atlassian есть своя реализация Optional - класс Option. :)
...
Рейтинг: 0 / 0
Используете вы Optional ?
    #39073778
Фотография Valentin Kolesnikov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Диез,

Добавил выбрасывание IllegalStateException для метода get() в случае если absent == true,
появились методы fromNullable(final T nullableReference), or(final T defaultValue) и orNull().
Ссылка на код

С уважением, Валентин
...
Рейтинг: 0 / 0
Используете вы Optional ?
    #39078786
Фотография Valentin Kolesnikov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Valentin Kolesnikov,

Есть замечания, предложения для этой версии Optional? :)
...
Рейтинг: 0 / 0
Используете вы Optional ?
    #39078835
Фотография Диез
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Valentin Kolesnikov,

Приятно, конечно, когда твои мысли находят отклик :)
Но то замечание было риторическим, по большому счету...

Тут я согласен с мембером private - не нужно тащить в Java идеологию функционального программирования.
Для этого есть Scala, Groovy и десятки прочих языков.

А для сильно желающих - есть fj, fugue итд. Какой смысл в еще одной библиотеке?
...
Рейтинг: 0 / 0
Используете вы Optional ?
    #39078946
Фотография Valentin Kolesnikov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Диез,

Если вопрос про библиотеку underscore-java, то в ней ей польза для написания похожего кода в JavaScript и java.
...
Рейтинг: 0 / 0
Используете вы Optional ?
    #39078970
Фотография Диез
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Valentin KolesnikovДиез,

Если вопрос про библиотеку underscore-java, то в ней ей польза для написания похожего кода в JavaScript и java.
JS:
Код: javascript
1.
_.map([1, 2, 3], function(num){ return num * 3; });



Java:
Код: java
1.
2.
3.
4.
5.
$.map(asList(1, 2, 3), new Function1<Integer, Integer>() {
    public Integer apply(Integer item) {
        return item * 3;
    }
});



Вы действительно считаете эти два примера похожими?
...
Рейтинг: 0 / 0
Используете вы Optional ?
    #39078997
Фотография Valentin Kolesnikov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Диез,

Есть реализация всех методов из JavaScript библиотеки. Так будет выглядить код для метода map. Можно применить лямбды для JDK8.
...
Рейтинг: 0 / 0
Используете вы Optional ?
    #39079003
Фотография Valentin Kolesnikov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Диез,

Пример кода с лямбда для JDK8:

Код: java
1.
$.map(asList(1, 2, 3), (num) -> num * 3);
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Используете вы Optional ?
    #39677964
mikron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сегодня впервые увидал это чудо инженерной мысли.
Меня переполняют матерные слова.
Я мог бы понять, если бы такую ошибку дизайна сделал новичёк.
В Оракле, что, специалистов больше не осталось? Oдни маркетологовые крикуны да маразматики?
КАК, И ЧЕМ надо думать что бы ввести конструкцию, которая НИЧЕГО, абсолютно НИЧЕГО не улучшает и не упрощает,
но добавляет количество необходимых (машинных) инструкций И потребление памяти?
И даже проверки на уровне времени выполнения. НЕ компиляции. Маразм.
Меня одно одно интересует, покажите мне хоть одного разумного, кто это добровольно использует?
Кто нибудь вообще может подвести хоть какую нибудь разумную аргументацию для этого #@$#$#?
Смотрим на C# 8.0 - разумный продуманный дизайн. Почему в Java не могут так, сразу сделать правильно?
...
Рейтинг: 0 / 0
Используете вы Optional ?
    #39678035
bochkov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я прочухал кайф от Optional
...
Рейтинг: 0 / 0
Используете вы Optional ?
    #39678045
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mikronСмотрим на C# 8.0 - разумный продуманный дизайн. Почему в Java не могут так, сразу сделать правильно?
Я уже лет 10 не кодил на C#. И возможно там всё как-то стало красиво и кошерно.
И поэтому к вам вопрос.

Как у вас в C# решается проблема NPE или NullReferenceException (NRE) ?
...
Рейтинг: 0 / 0
Используете вы Optional ?
    #39678053
mikron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bochkovя прочухал кайф от Optional
так раскажи, что курить надо, чтоб так вставляло.
типа сидим, кодим а деньги идут?
Или может мне это надо и кучу времени или денег сбережёт?
...
Рейтинг: 0 / 0
Используете вы Optional ?
    #39678055
mikron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonКак у вас в C# решается проблема NPE или NullReferenceException (NRE) ?
Так же как Overflow и OutOfMemmory - навешиванием шиздюлей программисту.
В общем случае. Но иногда можно будет избежать.
String! - обьект есть не нуль, компилятор гарантирует.
...
Рейтинг: 0 / 0
Используете вы Optional ?
    #39678077
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mikronmaytonКак у вас в C# решается проблема NPE или NullReferenceException (NRE) ?
Так же как Overflow и OutOfMemmory - навешиванием шиздюлей программисту.
В общем случае. Но иногда можно будет избежать.
String! - обьект есть не нуль, компилятор гарантирует.
1.
Тоесть ты считаешь что решение этой проблемы - не техническое а организационное?

2.
Твой дополнительный комментарий про string я понял, но он - не в кассу. Optional, который обсуждается в топике имеет более общую природу.
...
Рейтинг: 0 / 0
Используете вы Optional ?
    #39678116
Фотография Диез
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mikron,


NotNull типы и Option нужны для совершенно разных целей. Первое - для исключения null из набора допустимых значений. Второе - для явного возврата результата, который может иметь значение, а может не иметь.

Да, исторически null использовался для индикации того, что значение не возвращается, но такое решение крайне кривое по многим причинам.

Представьте себе ЯП, в котором вообще нет null. Как в нем указать, что метод может вернуть значение, а может не вернуть? Только вводя новый тип наподобие Optional.

PS. На такой толстый троллинг тут уже не ведется никто. Тоньше надо, со знанием дела
...
Рейтинг: 0 / 0
Используете вы Optional ?
    #39678160
mikron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonmikron Так же как Overflow и OutOfMemmory
1.
Тоесть ты считаешь что решение этой проблемы - не техническое а организационное?

Я считаю что это не проблема. Программисты совершают ошибки - они такие же люди.
Не будет NPE будут другие совершать. Поинт в том что Optinal не уменьшат риск появления ошибки.
Более того, программист может с таким же успехом совершить ошибку и вернуть null там где ожидается Optinal.
И если я пишу отказоустойчивый метод, то теперь к прверке на null добавится ешё isPresent.

mayton2.
Твой дополнительный комментарий про string я понял, но он - не в кассу. Optional, который обсуждается в топике имеет более общую природу.
Я таки не понял в чём разница между null и optional. Так уж сложилось что null обозначает - обьекта нету.
Какое тайное знание передаёт мне Optional? Если оставить проповеди Java - веруюших - никакого.
Безполезное и даже вредное дополнение к яве и главниое - ничего не меняет.
А String! - даёт гарантию. Это не условность, и не апель к карзаботчику. Жосткий факт.
В результате код надёжнее, производителнее, компакнее. И время разработки умешается.
Реально сохраняет время/нервы/деньги владельцев софта.
...
Рейтинг: 0 / 0
Используете вы Optional ?
    #39678162
mikron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ДиезДа, исторически null использовался для индикации того, что значение не возвращается, но такое решение крайне кривое по многим причинам.

Но оно уже сложилось. И два "Null" хуже чем один.
...
Рейтинг: 0 / 0
Используете вы Optional ?
    #39678203
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Диезно такое решение крайне кривое по многим причинам.смотрим причины:

ДиезПредставьте себе ЯП, в котором вообще нет null.
А такой есть?
Больше нет причин?
...
Рейтинг: 0 / 0
Используете вы Optional ?
    #39678238
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123А такой есть?

Да полно.
...
Рейтинг: 0 / 0
Используете вы Optional ?
    #39678239
Фотография Герой дня
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мы используем и нам нравится
...
Рейтинг: 0 / 0
Используете вы Optional ?
    #39678240
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл никPetro123А такой есть?

Да полно.не хочу такой))
...
Рейтинг: 0 / 0
Используете вы Optional ?
    #39678248
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123забыл никпропущено...

Да полно.не хочу такой))

Такими темпами в вадю превратишься
...
Рейтинг: 0 / 0
Используете вы Optional ?
    #39678306
Garrick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл никPetro123А такой есть?

Да полно.
Это типа как с указателями в Java - указателей нет, а Null Pointer Exception есть! Бардак!
...
Рейтинг: 0 / 0
25 сообщений из 164, страница 2 из 7
Форумы / Java [игнор отключен] [закрыт для гостей] / Используете вы Optional ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]