レコード – 【Java16】

レコード – 【Java16】

Java14でプレビューとして追加されたレコードがJava16で正式に追加されました。

値を保持するだけのイミュータブルなクラスをrecordで簡単に定義することができます。

recordを使う事によってボイラープレートコードを排除します。

  • getter()
  • equals()
  • hashCode()
  • public constructor

hostとportをもつクラスをrecordで定義します。

public record Config(String host,Integer port){}

recordで定義したクラスが持つフィールドはfinalなプライベートフィールドになります。メソッドは変数名と同じです。

host();
port();

レコードを呼び出す例です。

package jp.co.confrage;

public class Record {
    public static void main(String[] args) {    
        var app = new App("localhost", 8080);
        System.out.println(app.host()); // localhost 
        System.out.println(app.port()); // 8080
    }
}

record App(String host,Integer port) {}

Eclipseのアウトラインビューです。

レコード - 【Java16】

Springのapplication.ymlをrecordとして定義することができそうです。

参考サイト

https://blogs.oracle.com/otnjp/post/records-come-to-java-ja

コメント

株式会社CONFRAGE ITソリューション事業部をもっと見る

今すぐ購読し、続きを読んで、すべてのアーカイブにアクセスしましょう。

続きを読む

タイトルとURLをコピーしました