Зеркало dxgames.narod.ru

Мой старый сайт http://dxgames.narod.ru/ сильно загажен загромождён рекламой и труднообновляем, так как ucoz в бесплатных тарифах позволяет жмотничает загружать файлы только по одному. На всякий случай создал зеркало сайта. Наслаждайтесь 😎 . Хотя кого я обманываю, никому он не нужен… 😢

Шаблон проектирования isApplicable / apply

В этой статье пойдёт речь о шаблоне проектирования, который позволит нам избавиться от больших switch-ей в наших проектах.

Представьте, что мы пишем нечто вроде калькулятора. У нас есть список операций. В нашем примере четыре элемента перечисления, но на самом деле их может быть очень много:

Читать далее Шаблон проектирования isApplicable / apply

Латынь в песнях

Requiem aeternam dona
Eis Domine, Et lux perpetua
Luceat eis te decet
Hymnus, Deus in Sion

Det har musik skriven av Jesper Kyd

Латынь в песнях зачастую звучит заворачивающе. Возможно это связано с глубокими традициями написания гимнов и псалмов на этом языке. Возможно, просто непонятные, но слегка знакомые слова создают такой эфффект.

Год без сахара (сентябрь 2019)

Продолжаю жить без печенек, конфет и тортиков. Уже успешно прожил сентябрь. Все статьи на эту тему помечаю меткой год без сахара. Можете почитать прошлые статьи, должно быть интересно.

Читать далее Год без сахара (сентябрь 2019)

Почему Optional несериализуемый

Класс Optional появился в Java 8. Он создан для облегчения работы с возвращаемыми из методов значениями, которые могут содержать null. Однако этот класс несериализуемый. Почему? Всё очень просто. Его не стоит использовать в качестве поля класса. Он создан только для использования в качестве возвращаемого из методов значения. Код, который вызывает метод, возвращающий Optional должен обработать реальное значение, либо бросить исключение через orElseThrow, либо получить значение по умолчанию с помощью orElse. В поле класса нужно уже записывать настоящее значение, а не обёртку с Optional.

Рекомендую ознакомиться со статьёй, описывающей основные методы работы с этим классом.