Java / Lombok Interview questions
What is @UtilityClass used for?
@UtilityClass (experimental) converts a class into a static utility class: it makes the class
final, generates a private constructor that throws if somehow invoked via reflection, and marks
every field and method in the class as static automatically — the standard boilerplate for
a class that's meant to be a bag of static helper methods, never instantiated.
@UtilityClass public class MathUtils { public int square(int x) { return x * x; } } // equivalent to a final class with a private constructor // and `square` implicitly treated as `public static int square(int x)`
Without it, writing a proper utility class by hand means remembering to mark the class final,
add a private no-op constructor, and mark every single method static individually — small
but easy-to-forget details that @UtilityClass handles for you in one line.
More Related questions...