ホームページ > Java > &#&チュートリアル > Java ジェネリックス: `List`、`List`、および `List` の違いは何ですか?

Java ジェネリックス: `List`、`List`、および `List` の違いは何ですか?

Mary-Kate Olsen
リリース: 2024-11-24 04:54:10
オリジナル
906 人が閲覧しました

Java Generics: What's the Difference Between `List`, `List`, and `List`?

Java ジェネリック: List、List、List

概要

Java ジェネリックは、特定の型のオブジェクトを保持できる型安全なコレクションを作成するためのメカニズム。この記事では、List インターフェイスの 3 つのバリエーション、List、List、および List の違いについて説明します。

違いを理解する

1. List (Raw Type)

List は、List インターフェイスの Raw 型です。型引数を指定しません。つまり、任意の型のオブジェクトを保持できます。ただし、生の型は潜在的な型の安全性の問題を引き起こすため、一般に推奨されません。

2.リスト<オブジェクト> (パラメータ化された型)

Listこれは、List が Object 型のオブジェクトのみを保持できることを指定するパラメーター化された型です。これにより型の安全性は確保されますが、生の型と比較してリストの柔軟性が制限されます。

3.リスト (ワイルドカード型)

リストは、未知の型のリストを示すワイルドカード型です。任意のタイプのオブジェクトを保持できますが、リストに新しいオブジェクトを追加するために使用することはできません。ワイルドカード型は主に、メソッドが任意の型のリストを受け入れることができることを示すパラメータ型として使用されます。

各型を使用する場合

1. List (Raw Type)

  • リストに格納されているオブジェクトの型が無関係であるか、コンパイル時に不明な場合は、List を使用します。
  • ただし、潜在的な型に注意してください。安全性の問題があるため、可能な限りパラメータ化された型の使用を検討してください。

2.リスト<オブジェクト> (パラメータ化された型)