Java 14 でレコードを使用して不変データ オブジェクトを作成する方法
近年、Java 言語の開発は継続的に進歩しており、開発者により効率的で便利なツールが提供されています。 Java 14 で導入されたレコードは、不変データ オブジェクトの作成と管理を簡素化する素晴らしい機能です。この記事では、Java 14 で Records を使用して不変データ オブジェクトを作成する方法を紹介し、いくつかのサンプル コードを示します。
レコードについて説明する前に、まず不変データ オブジェクトとは何かを理解する必要があります。簡単に言えば、不変データ オブジェクトは、一度作成すると変更できないオブジェクトです。スレッドセーフ、簡単なテスト、優れたパフォーマンスなどの重要な機能がいくつかあります。
過去のバージョンの Java では、通常、クラスを使用して不変のデータ オブジェクトを作成していました。この方法では、プライベート変数の定義、ゲッター メソッドの実装、equals メソッドや hashCode メソッドのオーバーライドなど、いくつかの繰り返しコードを手動で記述する必要があります。これらの繰り返しのタスクは退屈でエラーが発生しやすくなります。
Java 14 では、Records がこの問題を解決します。 Records は、いくつかの一般的なメソッドとコードを自動的に生成する新しいクラス宣言フォームで、不変データ オブジェクトの作成を簡素化します。 Record を使用して不変データ オブジェクトを作成する例を次に示します。
public record Person(String name, int age) {}
上記の例では、Person クラスを不変データ オブジェクトとして定義しました。このクラスには、name と age の 2 つのフィールドのみが含まれており、メソッドはありません。コンストラクター、ゲッター、equals および hashCode メソッドを明示的に定義する必要はありません。これらはすべて Records によって自動的に生成されます。
次に、レコードを使用して不変データ オブジェクトを作成する実際の例をいくつか示します。
ケース 1: 学生情報
学生番号、名前、年齢の 3 つのフィールドを含む学生情報のデータ オブジェクトを作成する必要があるとします。 Records を使用してこのオブジェクトを定義できます。
public record Student(String id, String name, int age) {} // 创建一个学生对象 Student student = new Student("1001", "张三", 18); // 获取学生信息 String id = student.id(); String name = student.name(); int age = student.age(); System.out.println("学生信息:学号-" + id + ",姓名-" + name + ",年龄-" + age);
Records を通じて作成された Student クラスには、自動的に生成されたコンストラクターとゲッター メソッドがあり、これらのメソッドを直接使用して生徒の情報を取得できます。
ケース 2: 製品情報
製品名、価格、在庫の 3 つのフィールドを含む製品情報のデータ オブジェクトを作成する必要があるとします。 Records を使用して、このオブジェクトを定義できます。
public record Product(String name, double price, int stock) {} // 创建一个商品对象 Product product = new Product("Java编程入门", 68.0, 100); // 获取商品信息 String name = product.name(); double price = product.price(); int stock = product.stock(); System.out.println("商品信息:名称-" + name + ",价格-" + price + ",库存-" + stock);
同様に、Records を通じて作成された Product クラスには、自動的に生成されたコンストラクターとゲッター メソッドがあり、これらのメソッドを直接使用して製品情報を取得できます。
概要:
上記の例を通じて、Java 14 で Records を使用して不変データ オブジェクトを作成することが非常に簡単かつ効率的であることがわかります。レコードを使用すると、多くの繰り返しコードを手動で記述する必要がなくなり、開発効率が向上します。記録は、より明確で読みやすいコードを提供し、エラーの可能性を減らすのにも役立ちます。
ただし、Records は不変データ オブジェクトの作成を簡素化できますが、すべてのクラス宣言に適しているわけではないことに注意してください。レコードは、不変データを記述するクラスにのみ使用でき、データの状態を変更するメソッドを含めることはできません。さらに、レコードを継承階層で使用することはできません。
要約すると、レコードは Java 14 の非常に便利な機能であり、開発者が不変のデータ オブジェクトをより簡単に作成できるようになります。この記事が Records の理解と使用に役立つことを願っています。今後のプロジェクトでもRecordsのメリットを最大限に発揮して、開発効率とコード品質を向上していただければ幸いです。
以上がJava 14 でレコードを使用して不変のデータ オブジェクトを作成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。