Records クラスを使用して Java 14 で不変のデータ オブジェクトを作成する方法
はじめに:
ソフトウェア開発プロセスでは、データ オブジェクトは非常に重要です。データのセキュリティと一貫性を確保するには、通常、データ オブジェクトが不変になるように設計する必要があります。 Java では、Records クラスを使用して不変のデータ オブジェクトを作成できます。この記事では、Records クラスを使用して Java 14 で不変のデータ オブジェクトを作成する方法を紹介し、対応するコード例を示します。
record
に加えてクラス名と属性を使用するだけです。たとえば、次は単純な Person クラスの例です。 record Person(String name, int age) {}
上記のコードは、name と age の 2 つの属性を持つ Person という名前の Records クラスを定義します。 Records クラスは不変であるため、オブジェクトの作成後にオブジェクトを変更することはできません。
Person person = new Person("Alice", 25);
通常のクラスのプロパティと同様に、Records クラスのプロパティにアクセスすることもできます:
String name = person.name(); int age = person.age();
これは価値があります。 Records クラスの toString()
メソッドが自動的に生成されるため、toString()
メソッドを直接呼び出してオブジェクトの文字列表現を取得できることに注意してください。
4.2 不変性: Records クラスのプロパティは最終的なものであり、作成後に変更することはできないため、データ オブジェクトの不変性が保証されます。
4.3 自動的に生成されるメソッド: Records クラスは、equals、hashCode、toString などの一般的に使用されるメソッドを自動的に生成します。これらのメソッドを手動で記述する必要はありません。
4.4 読み取りと書き込みが簡単: Records クラスは明確に定義されており、シンプルなアクセス メソッドを通じてプロパティを取得できるため、コードの理解と保守が容易になります。
Records クラスの制限5.2 コンストラクターは明示的に定義できません: Records クラスのコンストラクターは暗黙的に生成されるため、コンストラクターを明示的に定義できません。
5.3 他のクラスを継承できない: Records クラスは他のクラスを継承できませんが、インターフェイスを実装できます。
5.4 アクセス修飾子はプロパティでは使用できません: Records クラスのプロパティはデフォルトでパブリックであり、他のアクセス修飾子は使用できません。
概要
以上がJava 14 の Records クラスを使用して不変のデータ オブジェクトを作成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。