Hi,
 (a) Given a record,  record R(int a){}, I see the (implicit) final modifiers propagated to implicit methods hashCode() and equals() 
 
[javap output]

public final boolean equals(java.lang.Object);

 However, toString() does not get the same -> 

  public java.lang.String toString();

(b)  Adding an explicit modifier, say strictfp adds this to all three

strictfp record R(int a){}

public strictfp java.lang.String toString();

public final strictfp int hashCode();

public final strictfp boolean equals(java.lang.Object);

 
I didn't see this explicitly specified in the Records JLS -> http://cr.openjdk.java.net/~gbierman/jep359/jep359-20200115/specs/records-jls.html#jls-8.10.3
 
Spec needs change? Or is there a newer version of spec ?
 
Regards,
Manoj

Reply via email to