Slide 47
Slide 47 text
Java 8 から 21 へのバージョンアップでどう変わる? 47
Records - 例:分数(from JEP 395)
record Rational(int num, int denom) {
public Rational {
int gcd = gcd(num, denom);
num /= gcd;
denom /= gcd;
}
private int gcd(int i, int j) { /* 最大公約数を求める */ }
... 続く
// 普通のコンストラクタ
public Rational(int num, int denom) {
int gcd = gcd(num, denom);
num /= gcd;
denom /= gcd;
this.num = num;
this.denom = denom;
}
コンストラクタも簡略化できる!
※レコードのヘッダーと一致する場合に限る