「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > Java レコード タイプの探索

Java レコード タイプの探索

2024 年 8 月 1 日に公開
ブラウズ:248

Exploring Java Record Types

Java 14 でプレビュー機能として導入され、Java 16 で安定した Java レコード タイプは、不変のデータ キャリアを定義する簡潔な方法を提供します。これらは、ボイラープレート コードを削減し、不変性と等価セマンティクスを確保することによって、単純なデータ保持クラスを作成するタスクを簡素化するように設計されています。

Java レコードとは何ですか?

Java レコードは、不変データのモデル化に使用される Java プログラミング言語の特別な種類のクラスです。レコードはコンストラクター、アクセサー、equals()、hashCode()、および toString() メソッドを自動的に生成するため、データ転送オブジェクトに最適です。

レコードの定義

Java でのレコードの定義は簡単です。簡単な例を次に示します:

public record Person(String name, int age) {}

この例では、個人レコードには次のものが自動的に含まれます:

  • 各コンポーネントのプライベート最終フィールド (名前と年齢)。
  • これらのフィールドを初期化するパブリック コンストラクター。
  • 各フィールドの取得メソッド (name() および age())。
  • equals()、hashCode()、および toString() メソッド。

レコードを使用する利点

  1. 簡潔性: レコードにより定型コードが大幅に削減されます。 getter、equals()、hashCode()、および toString() メソッドを手動で記述する必要はありません。
  2. 不変性: レコードは本質的に不変であり、レコードの作成後にフィールドを変更できないことが保証されます。
  3. 可読性の向上: レコードを使用するコードがわかりやすくなり、理解しやすくなります。

レコードの使用例

Java アプリケーションでレコードを使用する方法の実際的な例を次に示します:

public record Employee(int id, String name, double salary) {}

public class RecordExample {
    public static void main(String[] args) {
        Employee emp = new Employee(1, "Alice", 75000);
        System.out.println(emp);

        // Accessing fields
        System.out.println("ID: "   emp.id());
        System.out.println("Name: "   emp.name());
        System.out.println("Salary: "   emp.salary());
    }
}

出力:

Employee[id=1, name=Alice, salary=75000.0]
ID: 1
Name: Alice
Salary: 75000.0

レコードのカスタマイズ

レコードにはすぐに使える多くの機能が備わっていますが、必要に応じてカスタマイズすることもできます。たとえば、正規のコンストラクターに検証ロジックを追加できます:

public record Product(String name, double price) {
    public Product {
        if (price 



結論

Java レコードは Java 言語への強力な追加機能であり、最小限のコードで不変のデータ キャリアを簡単に作成できるようになります。これらによりコードの可読性が向上し、定型文が削減されるため、開発者はアプリケーションのコア ロジックに集中できるようになります。

リリースステートメント この記事は次の場所に転載されています: https://dev.to/adaumircosta/exploring-java-record-types-o72?1 侵害がある場合は、[email protected] に連絡して削除してください。
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3