Finally! Hassle-free final local variables.

Mutably! Hassle-free local variables.

or: How I learned to stop worrying and love the NullPointerException.

Automatic resource management: Call your close() methods safely with no hassle.

Never write public int getFoo() {return foo;} again.

No need to start a debugger to see your fields: Just let lombok generate a toString for you!
@ToString(exclude = {“courses”})

Equality made easy: Generates hashCode and equals implementations from the fields of your object..

@NoArgsConstructor, @RequiredArgsConstructor and @AllArgsConstructor
Constructors made to order: Generates constructors that take no arguments, one argument per final / non-nullfield, or one argument for every field.

All together now: A shortcut for @ToString, @EqualsAndHashCode, @Getter on all fields, and @Setter on all non-final fields, and @RequiredArgsConstructor!

Immutable classes made very easy.

… and Bob’s your uncle: No-hassle fancy-pants APIs for object creation!

To boldly throw checked exceptions where no one has thrown them before!

synchronized done right: Don’t expose your locks.

Immutable ‘setters’ – methods that create a clone but with one changed field.

Laziness is a virtue!

Captain’s Log, stardate 24435.7: “What was that line again?”

Head to the lab: The new stuff we’re working on.