Prev Next

Java / Lombok Interview questions

How does delombok work and when would you use it?

delombok runs Lombok's own transformation logic but, instead of feeding the result to the compiler, writes out the fully expanded, plain-Java equivalent source code — every getter, setter, constructor, and other generated method spelled out explicitly, with no Lombok annotations remaining.

java -jar lombok.jar delombok src/main/java -d src/main/delomboked

Common reasons to use it:

  • Generating Javadoc — the standard Javadoc tool doesn't understand Lombok annotations, so running delombok first produces source Javadoc can actually process and document correctly.
  • Debugging exactly what Lombok generated, without guessing from the annotation alone.
  • Removing a Lombok dependency from a project — delomboking the whole codebase gives you a starting point of equivalent plain Java to work from, rather than hand-writing every generated method from scratch.
What does delombok produce?
Why is delombok often run before generating Javadoc?

Invest now in Acorns!!! 🚀 Join Acorns and get your $5 bonus!
Acorns Logo

Invest now in Acorns!!! 🚀
Join Acorns and get your $5 bonus!

Earn passively and while sleeping

Acorns is a micro-investing app that automatically invests your "spare change" from daily purchases into diversified, expert-built portfolios of ETFs. It is designed for beginners, allowing you to start investing with as little as $5. The service automates saving and investing. Disclosure: I may receive a referral bonus.

Robinhood Logo

Invest now!!! Get Free equity stock (US, UK only)!

Use Robinhood app to invest in stocks. It is safe and secure. Use the Referral link to claim your free stock when you sign up!.

The Robinhood app makes it easy to trade stocks, crypto and more.


Webull Logo

Webull! Receive free stock by signing up using the link: Webull signup.

More Related questions...

What is Lombok? What is the purpose of Lombok in Java? How do you add Lombok to a Maven project? How do you add Lombok to a Gradle project? What is @Getter used for? What is @Setter used for? What is @ToString used for? What is @EqualsAndHashCode used for? What is @NoArgsConstructor used for? What is @AllArgsConstructor used for? What is @RequiredArgsConstructor used for? What is @Data used for? What is @Value used for? What is @Builder used for? What is @Slf4j used for? What is @NonNull used for? What is @Cleanup used for? What is @SneakyThrows used for? What is @Synchronized used for? What is @With used for? Describe how Lombok works under the hood (annotation processing)? How do you install the Lombok plugin in an IDE? What are the types of Lombok annotations? How do you exclude a field from @ToString? How do you exclude a field from @EqualsAndHashCode? What is @Builder.Default used for? Why does IDE support matter for using Lombok effectively? What is the difference between @Data and @Value? What is the difference between @NoArgsConstructor, @AllArgsConstructor, and @RequiredArgsConstructor? When should you use @Builder instead of a constructor? How does @EqualsAndHashCode handle inheritance by default? Why can @Data be risky on JPA entity classes? How do you combine Lombok's @Builder with inheritance? What is the difference between @Getter(lazy = true) and a normal @Getter? Why should you be careful using @EqualsAndHashCode on Hibernate entities with lazy-loaded proxies? What is @Accessors used for and how does it change fluent-style access? How does Lombok handle @ToString with circular references? What is @FieldDefaults used for? What is @Delegate used for? Why is Lombok's approach considered a "compiler hack" and what are the implications? How do you debug generated Lombok code? What issues can Lombok cause with static code analysis tools? What are the risks of using @Data with mutable collections? How does delombok work and when would you use it? Why might Lombok cause issues in multi-module Maven builds with annotation processor ordering? What is @UtilityClass used for? What is the difference between Lombok's @Builder and the traditional Gang-of-Four Builder pattern? How do you use Lombok with Java records - is Lombok still needed?
Show more question and Answers...

Spring

Comments & Discussions