Records クラスを使用して Java 14 で可変および不変のデータ オブジェクトを作成する方法
はじめに:
Java 14 より前は、通常、クラスを使用してデータ オブジェクトを作成し、その中にフィールドを定義し、ゲッターを生成し、セッターメソッド。このようなコードは長くて扱いにくく、多くの定型コードが必要になります。 Java 14 では、データ オブジェクトを作成するためのよりクリーンな方法を提供する Records クラスが導入されました。 Records クラスは、フィールド、コンストラクター、ゲッター、equals、hashCode およびその他のメソッドを自動的に生成できます。この記事では、Java 14 の Records クラスを使用して変更可能および不変のデータ オブジェクトを作成する方法と、対応するコード例を紹介します。
可変データ オブジェクト:
Java では、キーワード「record」を使用して Record クラスを作成できます。このクラスはフィールドと多くのメソッドを自動的に生成します。 var キーワードを使用して、可変データ オブジェクトを定義および初期化できます。
次は、変更可能な Person オブジェクトを作成する方法を示す例です。
record Person(String name, int age) {}
この Person クラスには、name と age の 2 つのフィールドがあります。このクラスは、次のコードを使用して使用できます。
var person = new Person("John", 30); person.setName("Mike"); person.setAge(35);
この例では、person という名前の可変オブジェクトを作成し、その名前と年齢のフィールドを設定します。生成された setName メソッドと setAge メソッドを使用して、このオブジェクトのフィールド値を変更することもできます。
不変データ オブジェクト:
不変データ オブジェクトを作成するには、Record クラスのフィールドを Final としてマークするだけです。このようにすると、これらのフィールドは変更できなくなります。次のコード例を使用できます。
record Person(String name, int age) { public Person { if(age < 0) { throw new IllegalArgumentException("Age cannot be negative"); } } }
この例では、コンストラクターを Person クラスに追加しました。コンストラクターを使用して、age フィールドの値を確認します。 age が 0 未満の場合、例外がスローされます。
この不変の person オブジェクトは、次のコードを使用して作成および使用できます:
var person = new Person("John", 30); System.out.println(person.name()); System.out.println(person.age());
この例では、person という名前の不変オブジェクトを作成し、name および age メソッドを呼び出して渡して、フィールドの値。年齢フィールドは最終的なものであるため、変更できません。
概要:
この記事では、Java 14 の Records クラスを使用して変更可能および不変のデータ オブジェクトを作成する方法を紹介しました。変更可能および不変更の Person オブジェクトを作成する方法を、対応するコード例とともに示します。 Records クラスは、データ オブジェクトを作成する簡潔な方法を提供し、冗長で反復的なコードを削減します。これは、開発効率とコード品質を向上させることができる Java 14 の非常に便利な新機能です。 Records クラスを使用して独自のプロジェクトでデータ オブジェクトを作成し、その便利さを体験してみてください。
以上がJava 14 で Records クラスを使用して変更可能および不変のデータ オブジェクトを作成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。