ホームページ  >  記事  >  Java  >  Java 14 の Records クラスを使用して不変のデータ オブジェクトを作成する方法

Java 14 の Records クラスを使用して不変のデータ オブジェクトを作成する方法

WBOY
WBOYオリジナル
2023-08-03 13:40:45926ブラウズ

Records クラスを使用して Java 14 で不変のデータ オブジェクトを作成する方法

はじめに:
ソフトウェア開発プロセスでは、データ オブジェクトは非常に重要です。データのセキュリティと一貫性を確保するには、通常、データ オブジェクトが不変になるように設計する必要があります。 Java では、Records クラスを使用して不変のデータ オブジェクトを作成できます。この記事では、Records クラスを使用して Java 14 で不変のデータ オブジェクトを作成する方法を紹介し、対応するコード例を示します。

  1. Records クラスとは何ですか?
    Records クラスは、不変のデータ オブジェクトをよりクリーンかつ簡単に作成する方法を提供する Java 14 の新機能です。 Records クラスは、構築メソッド、equals メソッド、hashCode メソッド、toString メソッドなど、いくつかのメソッドを自動的に生成します。これらのメソッドの実装はクラスのプロパティに基づいて自動的に生成されるため、これらの面倒なコードを手動で記述する必要はありません。
  2. Records クラスを定義するにはどうすればよいですか?
    Records クラスの定義は非常に簡単です。キーワード record に加えてクラス名と属性を使用するだけです。たとえば、次は単純な Person クラスの例です。
record Person(String name, int age) {}

上記のコードは、name と age の 2 つの属性を持つ Person という名前の Records クラスを定義します。 Records クラスは不変であるため、オブジェクトの作成後にオブジェクトを変更することはできません。

  1. Records クラスの使い方
    Records クラスを使用すると、通常のクラスと同じようにオブジェクトの作成、プロパティへのアクセス、メソッドの呼び出しができるので非常に便利です。たとえば、次のような Person オブジェクトを作成できます:
Person person = new Person("Alice", 25);

通常のクラスのプロパティと同様に、Records クラスのプロパティにアクセスすることもできます:

String name = person.name();
int age = person.age();

これは価値があります。 Records クラスの toString() メソッドが自動的に生成されるため、toString() メソッドを直接呼び出してオブジェクトの文字列表現を取得できることに注意してください。

##Records クラスの利点
    Records クラスを使用すると、次の利点があります。

  1. 4.1 単純さ: 従来のクラス定義方法と比較して、Records クラスはより簡潔であり、必要性がありません。面倒なコード作成に。

4.2 不変性: Records クラスのプロパティは最終的なものであり、作成後に変更することはできないため、データ オブジェクトの不変性が保証されます。

4.3 自動的に生成されるメソッド: Records クラスは、equals、hashCode、toString などの一般的に使用されるメソッドを自動的に生成します。これらのメソッドを手動で記述する必要はありません。

4.4 読み取りと書き込みが簡単: Records クラスは明確に定義されており、シンプルなアクセス メソッドを通じてプロパティを取得できるため、コードの理解と保守が容易になります。

Records クラスの制限
    ただし、Records クラスにもいくつかの制限があります:

  1. 5.1 プロパティは最終的なものである必要があります: Records クラスのプロパティは宣言されている必要がありますFinal : データ オブジェクトの不変性を保証します。

5.2 コンストラクターは明示的に定義できません: Records クラスのコンストラクターは暗黙的に生成されるため、コンストラクターを明示的に定義できません。

5.3 他のクラスを継承できない: Records クラスは他のクラスを継承できませんが、インターフェイスを実装できます。

5.4 アクセス修飾子はプロパティでは使用できません: Records クラスのプロパティはデフォルトでパブリックであり、他のアクセス修飾子は使用できません。

概要
    Java 14 では、Records クラスは、不変のデータ オブジェクトを作成するためのより簡潔で便利な方法を提供します。
  1. record
    キーワードを使用して Records クラスを定義し、プロパティを宣言するだけで済みます。残りの作業は Records クラスによって自動的に生成されます。 Records クラスを使用すると、コードの読みやすさと保守性が向上します。ただし、プロパティは Final である必要がある、コンストラクターは明示的に定義できないなど、Records クラスのいくつかの制限にも注意する必要があります。この記事が Java 14 の Records クラスの理解と使用に役立つことを願っています。

以上がJava 14 の Records クラスを使用して不変のデータ オブジェクトを作成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。