Package modernfeatures.java16
Record Class AdvancedRecordDemo.Person
java.lang.Object
java.lang.Record
modernfeatures.java16.AdvancedRecordDemo.Person
- Enclosing class:
AdvancedRecordDemo
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionint
age()
Returns the value of theage
record component.final boolean
Indicates whether some other object is "equal to" this one.final int
hashCode()
Returns a hash code value for this object.boolean
isAdult()
Checks if the person is an adult (age >= 18).name()
Returns the value of thename
record component.final String
toString()
Returns a string representation of this record class.
-
Constructor Details
-
Person
Compact canonical constructor for Person record. Validates that age is non-negative.- Parameters:
name
- the name of the personage
- the age of the person (must be non-negative)- Throws:
IllegalArgumentException
- if age is negative
-
-
Method Details
-
isAdult
public boolean isAdult()Checks if the person is an adult (age >= 18).- Returns:
- true if age is at least 18, false otherwise
-
toString
Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components. -
hashCode
public final int hashCode()Returns a hash code value for this object. The value is derived from the hash code of each of the record components. -
equals
Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. Reference components are compared withObjects::equals(Object,Object)
; primitive components are compared with '=='. -
name
Returns the value of thename
record component.- Returns:
- the value of the
name
record component
-
age
public int age()Returns the value of theage
record component.- Returns:
- the value of the
age
record component
-