Slide 31
Slide 31 text
Recordクラスが作れるようになったよ🎉(Java16)
31
Record
データを持つためのRecordというクラスが新しく作られたよ!
JEP 395: Records
https:/
/openjdk.java.net/jeps/395
record Point(int x, int y) { };
Point.class.getMethods();
==> Method[11] {
public final boolean Point.equals(java.lang.Object),
public final java.lang.String Point.toString(),
public final int Point.hashCode(),
public int Point.x(), // xのgetter
public int Point.y(), // yのgetter
public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException,
public final void java.lang.Object.wait() throws java.lang.InterruptedException,
public final native void java.lang.Object.wait(long) throws java.lang.InterruptedException,
public final native java.lang.Class java.lang.Object.getClass(),
public final native void java.lang.Object.notify(),
public final native void java.lang.Object.notifyAll() }
Recordにはコンストラクタやgetter、equalsメソッドが自動で作られるので、
イミュータブル(不変)なデータクラスが簡単に実装できるよ!