Java 14 でレコード コンポーネントを使用してゲッター メソッドとセッター メソッドを自動的に生成する方法

WBOY
リリース: 2023-07-29 11:04:55
オリジナル
1535 人が閲覧しました

Java 14 でレコード コンポーネントを使用してゲッター メソッドとセッター メソッドを自動的に生成する方法

Java プログラミングでは、多くの場合、クラスのフィールドにアクセスして変更するために、クラスのフィールドのゲッター メソッドとセッター メソッドを生成する必要があります。外部のフィールド。ただし、この従来のアプローチでは、大量の定型コードを記述する必要があり、エラーが発生しやすくなります。 Java 14 で導入されたレコード コンポーネントにより、このプロセスが簡素化され、ゲッター メソッドとセッター メソッドの生成がより効率的かつ簡潔になります。

レコード コンポーネントはクラス宣言の新しい形式であり、その主な機能は不変のデータ クラスを作成することです。従来のクラス宣言と比較して、レコード コンポーネントはクラスのフィールドのゲッター メソッドを自動的に生成できるだけでなく、フィールドのセッター メソッドも自動的に生成します。これにより、クラス内でフィールドを定義および使用するプロセスが大幅に簡素化されます。

次の例は、Java 14 でレコード コンポーネントを使用してゲッター メソッドとセッター メソッドを自動的に生成する方法を示しています。

まず、Record クラスといくつかのフィールドを定義する必要があります。たとえば、名前と年齢という 2 つのフィールドを含む Person という名前のクラスを定義できます。

record Person(String name, int age) { }
ログイン後にコピー

上記のコードは、name と age の 2 つのフィールドを持つ Person という名前の Record クラスを定義します。 Record クラスの宣言では、フィールドの型と名前が直接指定されるため、getter メソッドと setter メソッドを手動で記述する必要がなくなります。

その後、自動的に生成されたゲッター メソッドを呼び出すことで、Person オブジェクトを作成し、そのフィールドにアクセスして変更することができます。

Person person = new Person("John Doe", 25);
System.out.println(person.name());
System.out.println(person.age());
ログイン後にコピー

person.name() メソッドと person.age() メソッドを介して、それぞれ Person オブジェクトの name フィールドと age フィールドの値にアクセスして出力できます。

もちろん、自動生成された setter メソッドを使用してフィールドの値を変更することもできます。

person = person.withName("Jane Smith");
person = person.withAge(30);
System.out.println(person.name());
System.out.println(person.age());
ログイン後にコピー

person.withName() メソッドと person.withAge() メソッドを使用して、Person オブジェクトの名前フィールドと年齢フィールドの値をそれぞれ変更し、ゲッターを呼び出して変更結果を確認できます。方法。

Java 14 の Record クラスでは、フィールドの getter メソッドと setter メソッドを自動生成できるだけでなく、equals()、hashCode()、toString() などのメソッドも自動で書き換えることができます。これにより、不変データを扱う際の Record クラスの利便性と信頼性が向上します。

要約すると、Java 14 で導入されたレコード コンポーネントは、クラスのゲッター メソッドとセッター メソッドを生成するためのより効率的かつ簡潔な方法を提供します。フィールドに対してこれらのメソッドを自動的に生成することにより、レコード コンポーネントは定型コードを記述する作業負荷を軽減し、クラスの不変性をより適切に反映することができます。したがって、開発プロセスでは、ビジネス ロジックの実装により重点を置き、コードの可読性と保守性を向上させることができます。

以上がJava 14 でレコード コンポーネントを使用してゲッター メソッドとセッター メソッドを自動的に生成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!