レコード – 【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のアウトラインビューです。
Springのapplication.ymlをrecordとして定義することができそうです。
参考サイト
https://blogs.oracle.com/otnjp/post/records-come-to-java-ja
KHI入社して退社。今はCONFRAGEで正社員です。関西で140-170/80~120万から受け付けております^^
得意技はJS(ES6),Java,AWSの大体のリソースです
コメントはやさしくお願いいたします^^
座右の銘は、「狭き門より入れ」「願わくは、我に七難八苦を与えたまえ」です^^
コメント