Зарегистрируйтесь для доступа к 15+ бесплатным курсам по программированию с тренажером

Генерация кода Java: Основы ООП

Аннотация @Data

Аннотация @Data сочетает в себе следующие аннотации: @ToString, @EqualsAndHashCode, @Getter / @Setter и @RequiredArgsConstructor

import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@NoArgsConstructor
public class Item {
    private Integer id;
    private String name;
    private Double price;
}
Item milk = new Item();
// Сеттеры
milk.setId(1);
milk.setName("Молоко");
milk.setPrice(99.90);
System.out.println(milk);
// => Item(id=1, name=Молоко, price=99.9)

Item bread = new Item();
bread.setId(1);
bread.setName("Хлеб");
bread.setPrice(69.90);

// Метод equals()
System.out.println(milk.equals(bread)); // => false

Аннотация @Builder

Аннотация позволяет создавать инстансы класса в стиле "текучего интерфейса". Добавим эту аннотацию:

import lombok.Builder;

@Builder
public class Item {
    private Integer id;
    private String name;
    private Double price;
}

Создадим класс:

Item item = Item.builder()
        .id(1)
        .name("Котлета")
        .price(100.0)
        .build();

System.out.println(item);
// => Item(id=1, name=Котлета, price=100.0)

Аннотация @NonNull

import lombok.Builder;
import lombok.NonNull;

@Builder
public class Item {
    @NonNull
    private Integer id;
    private String name;
    private Double price;
}

Item item = Item.builder()
        .price(10.0)
        .name("Йогурт")
        .build();
System.out.println(item);
// java.lang.NullPointerException: id is marked non-null but is null

Дополнительные материалы

  1. Проект Lombok

Аватары экспертов Хекслета

Остались вопросы? Задайте их в разделе «Обсуждение»

Вам ответят команда поддержки Хекслета или другие студенты

Для полного доступа к курсу нужен базовый план

Базовый план откроет полный доступ ко всем курсам, упражнениям и урокам Хекслета, проектам и пожизненный доступ к теории пройденных уроков. Подписку можно отменить в любой момент.

Получить доступ
1000
упражнений
2000+
часов теории
3200
тестов

Открыть доступ

Курсы программирования для новичков и опытных разработчиков. Начните обучение бесплатно

  • 130 курсов, 2000+ часов теории
  • 1000 практических заданий в браузере
  • 360 000 студентов
Отправляя форму, вы принимаете «Соглашение об обработке персональных данных» и условия «Оферты», а также соглашаетесь с «Условиями использования»

Наши выпускники работают в компаниях:

Логотип компании Альфа Банк
Логотип компании Aviasales
Логотип компании Yandex
Логотип компании Tinkoff
Рекомендуемые программы
профессия
Научитесь разработке веб-приложений, сайтов и программного обеспечения на языке Java, программируйте и используйте структуры данных
10 месяцев
с нуля
Старт 21 ноября

Используйте Хекслет по-максимуму!

  • Задавайте вопросы по уроку
  • Проверяйте знания в квизах
  • Проходите практику прямо в браузере
  • Отслеживайте свой прогресс

Зарегистрируйтесь или войдите в свой аккаунт

Отправляя форму, вы принимаете «Соглашение об обработке персональных данных» и условия «Оферты», а также соглашаетесь с «Условиями использования»