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

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

WBOY
WBOYオリジナル
2023-07-30 20:55:58698ブラウズ

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

はじめに:
Java 14 は Java プログラミング言語の最新バージョンであり、新しいデータ型として Records クラスが導入されています。 Records クラスは、不変のデータ オブジェクトを作成するための簡潔な方法を提供します。この記事では、Records クラスを使用して Java 14 で可変デー​​タ オブジェクトを作成する方法と、対応するコード例を紹介します。

1. Records クラスの概要
Records クラスは、Java 14 で追加された新しいデータ クラスであり、主に不変データ オブジェクトを表すために使用されます。 Records クラスは、equals()、hashCode()、toString() メソッドなどの一般的に使用されるメソッドを自動的に生成するため、繰り返しコードを記述する必要性が減ります。通常のクラスと比較すると、Records クラスは Final クラスであり、継承したり、プロパティのアクセシビリティを変更したりすることはできません。

2. Records クラスを使用して可変データ オブジェクトを作成する
可変データ オブジェクトを作成する場合は、不変オブジェクトと比較して、Records クラスの可変属性を使用して実現できます。サンプル コードは次のとおりです。

public record Person(String name, int age) {
    public Person {
        if (age < 0) {
            throw new IllegalArgumentException("age should be non-negative");
        }
    }
    public void setAge(int age) {
        if (age < 0) {
            throw new IllegalArgumentException("age should be non-negative");
        }
        this.age = age;
    }
}

上記の例では、Person クラスを作成し、それを Records クラスとして宣言しました。コンストラクターにプロパティの正当性チェックを追加することで、作成するオブジェクトが有効であることを確認できます。同時に、年齢属性の変更を可能にする setAge() メソッドを追加しました。このようにして、変更可能な Person オブジェクトを作成します。

3. Records クラスを使用してオブジェクトを作成します
変数 Person オブジェクトの場合、次の方法で作成できます:

Person person = new Person("Alice", 30);
System.out.println(person.name()); // 输出:Alice
System.out.println(person.age()); // 输出:30

person.setAge(31);
System.out.println(person.age()); // 输出:31

上記のコードでは、作成する PERSON クラス PERSON オブジェクトを取得し、name() メソッドと age() メソッドをそれぞれ呼び出して、対応する属性値を取得します。次に、setAge() メソッドを呼び出して、age 属性の値を変更します。出力から、age 属性の値が正常に変更されたことがわかります。

4. Records クラスに関する注意事項
Records クラスは便利な機能を提供しますが、使用する際にはいくつかの制限事項にも注意する必要があります:

  1. Records クラスは次のとおりです。継承することはできません。
  2. Records クラスのプロパティはデフォルトでは最終的なものであり、変更することはできません。
  3. Records クラスのコンストラクターは、デフォルトではプライベートです。
  4. Records クラスによって自動的に生成された equals()、hashCode()、および toString() メソッドは、デフォルトで属性に従って比較されます。

概要:
Java 14 では、Records クラスは不変のデータ オブジェクトを作成する簡潔な方法を提供します。 mutable 属性を設定することで、可変データ オブジェクトを作成することもできます。 Records クラスを使用すると、繰り返しコードを記述する作業負荷が軽減され、コードの可読性と保守性が向上します。 Java 14 の広範な適用により、Records クラスは将来の Java 開発においてますます重要な役割を果たすようになると私は信じています。

参考リンク:
[1] https://openjdk.java.net/jeps/359

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

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