Project Lombok is a Java library that helps to reduce the
We can easily add Lombok to the project as one of the dependencies.
For a Gradle project, add the following two lines to the dependencies section of the build.gradle
file:
compileOnly 'org.projectlombok:lombok:1.18.22'
annotationProcessor 'org.projectlombok:lombok:1.18.22'
For a Maven project, add the following lines to the dependencies section of the pom.xml
file:
<dependencies><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.22</version><scope>provided</scope></dependency></dependencies>
@NoArgsConstructor
annotationThe @NoArgsConstructor
annotation is used to generate the no-argument constructor for a class. In this case, the class consists of final
fields. Using this annotation makes the compiler throw a compile-time error. To overcome this, the annotation takes a parameter called force
which, when set to true
, initializes the final fields 0
or false
or null
.
Note: A no-argument constructor is a constructor with no parameters.
The following code shows how the annotation reduces writing the no-arg
constructor to a single annotation:
import lombok.NoArgsConstructor;public class Main {static class Person{private int age;public Person() {}}@NoArgsConstructorstatic class NewPerson{private int age;}}
In the above code, we have two classes, Person
and NewPerson
. A no-arg
constructor is written for the Person
class in line 8.
The NewPerson
class is annotated with @NoArgsConstructor
annotation. The annotation generates the no-arg constructor for us.