As a Java developer, we use POJO every day in our coding. We have to write or generate codes of accessor methods and other methods like 'equals', 'toString' and 'hashCode' or use a library like Lombok.
To make it more simplified Java introducing 'record'. Using which developer need not have to generate or write these code.
Some of the features of these 'record' class.
- implicitly they are final so it cannot be extended or abstracted but can implement an interface.
- java.lang.Record is the superclass of record
- A record cannot define the native method.
- A record field(s) is/are implicitly final
Let's see with an example.
A simple record with no boilerplate code. It provides field accessor method, 'toString', 'equals' and 'hashCode' readily available.
A record with multiple constructors and instance method.
A record with constructor level validation, static method and override 'equals' method.
In this class, we are accessing the field with the internal method and other methods like 'toString', 'equals' and 'hashCode'.
Output
To compile these codes
javac --enable-preview --release 15 TestRecord.java
To Run these codes
java --enable-preview TestRecord
Happy coding and keep learning!