🔥Пожалуй самый распространенный способ избежания Null Pointer Exception в вашем приложении.
Часто можно получить
Решение это всегда менять местами переменную и константу. То есть вызвать метод equals у константы.
Часто можно получить
NPE при проверке на равенство переменной и константы. Дело в том, что переменная может содержать null и при вызове метода equals у такой переменной, мы получим исключение NullPointerException. Решение это всегда менять местами переменную и константу. То есть вызвать метод equals у константы.
👍16❤3
6.png
53.8 KB
🚀 Stream API появился в Java 8 и существенно упростил работу с коллекциями. Теперь можно писать короче и красивее фильтрацию, сортировку и обработку данных.
В карусели приведены полезные примеры использования стримов.
В карусели приведены полезные примеры использования стримов.
🔥8☃2👍1
🚩 Double braces инициализация - это создание и инициализация объекта в одном java выражении. Чаще всего используется с коллекциями.
На самом деле в этот момент происходит создание анонимного внутреннего класса, расширяющего ArrayList и определение в нём блока инициализации экземпляра.
Плюсы: код выглядит проще, красивее и понятнее.
Минусы:
📍 малоизвестный способ инициализации
📍 каждый раз создается дополнительный класс
📍 не работает, если класс, который мы пытаемся расширить, помечен как final
📍 содержит скрытую ссылку на внешний экземпляр, что может привести к утечкам памяти
Именно из за этих минусов данная инициализация является антипаттерном.
В современных версиях java есть более красивые и правильные варианты создания и инициализации коллекций.
Начиная с Java 8 это Stream API, а начиная с java 9 конструкция List.of().
На самом деле в этот момент происходит создание анонимного внутреннего класса, расширяющего ArrayList и определение в нём блока инициализации экземпляра.
Плюсы: код выглядит проще, красивее и понятнее.
Минусы:
📍 малоизвестный способ инициализации
📍 каждый раз создается дополнительный класс
📍 не работает, если класс, который мы пытаемся расширить, помечен как final
📍 содержит скрытую ссылку на внешний экземпляр, что может привести к утечкам памяти
Именно из за этих минусов данная инициализация является антипаттерном.
В современных версиях java есть более красивые и правильные варианты создания и инициализации коллекций.
Начиная с Java 8 это Stream API, а начиная с java 9 конструкция List.of().
👍6❤2