Pascal4eg / Java

 Java | Фишки и трюки

Запись (record)

public record Point (int x, int y) { }

public static void main(String[] args) {
    Point point = new Point(100, 100);
    System.out.println(point);
}
// Point[x=100, y=100]

📝 Запись (record) — это класс, объявленный с ключевым словом record вместо ключевого слова class. Запись служит контейнером неизменяемых данных и предназначена для лаконичного описания DTO (Data Transfer Object).

Читать дальше

Sentry for Java

Sentry for Java — это программный инструмент, призванный помочь разработчикам отслеживать и управлять ошибками, исключениями и сбоями в приложениях Java.

Читать дальше

Double braces инициализация

// Double braces initialization
List<String> planets = new ArrayList<>() {{
    add("Mercury");
    add("Venus"); 
    add("Earth"); 
    add("Mars");
    add("Jupiter");
    add("Saturn"); 
    add("Uranus"); 
    add("Neptune");
}};

Double braces инициализация - это создание и инициализация объекта в одном java выражении. Чаще всего используется с коллекциями.

На самом деле в этот момент происходит создание анонимного внутреннего класса, расширяющего ArrayList и определение в нём блока инициализации экземпляра.

Читать дальше

Stream API

Stream API появился в Java 8 и существенно упростил работу с коллекциями. Теперь можно писать короче и красивее фильтрацию, сортировку и обработку данных.

private final List<Property> properties = getProperties();

/**
 * Поиск свойства по имени в списке
 * @param propName наименование свойства
 * @return найденное свойство или null если не найдено
 */
public Property getPropertyByName(String propName) {
    return properties.stream().filter(p -> p.getName().equals(propName)).findFirst().orElse(null);
}
Читать дальше

Пожалуй самый распространенный способ избежания Null Pointer Exception

Часто можно получить NPE при проверке на равенство переменной и константы. Дело в том, что переменная может содержать null и при вызове метода equals у такой переменной, мы получим исключение NullPointerException.

Читать дальше