Библиотека джависта | Java, Spring, Maven, Hibernate
23.4K subscribers
2.19K photos
45 videos
45 files
3.09K links
Все самое полезное для Java-разработчика в одном канале.

Список наших каналов: https://t.me/proglibrary/9197

Для обратной связи: @proglibrary_feeedback_bot

По рекламе: @proglib_adv

РКН: https://gosuslugi.ru/snet/67a5bbda1b17b35b6c1a55c4
Download Telegram
👑 Фишка Lombok: @With

Как вы обычно обновляете одно поле в неизменяемом объекте? Создаёте копию с нужным значением?

Муторно. Lombok умеет делать это просто и элегантно.

🔹 Аннотация @With

Генерирует методы withX(...), которые создают копию объекта с изменённым полем. Подходит для immutable-моделей и паттерна builder. Класс при этом должен быть final (например, через @Value или вручную).

🔹 Пример

@Value
@With
public class User {
String name;
int age;
}


Теперь можно:
User user1 = new User("Alice", 25);
User user2 = user1.withAge(30); // создаётся новый объект с новым age


Объекты остаются неизменяемыми, но при этом легко "обновляемыми".

🔹 Зачем это нужно

— Удобно при работе с immutable-классами.
— Простой способ "копировать с изменением".
— Чистый, декларативный стиль без boilerplate.

🐸 Библиотека джависта

#CoreJava
Please open Telegram to view this post
VIEW IN TELEGRAM
👍61🔥1🥱1