ホームページ > Java > &#&チュートリアル > データを「リスト」に追加できないのはなぜですか

データを「リスト」に追加できないのはなぜですか

Patricia Arquette
リリース: 2025-01-03 10:46:39
オリジナル
249 人が閲覧しました

Why Can't I Add Data to a `List

リストにデータを追加します

List に要素を追加しようとするときに直面するジレンマ を拡張します。これはワイルドカード宣言の制約に起因します。このような宣言では、変数は型ファミリーの任意の値を保持できます。これは、次の代入が有効であることを意味します:

List<? extends Number> foo3 = new ArrayList<Number>();
List<? extends Number> foo3 = new ArrayList<Integer>(); 
List<? extends Number> foo3 = new ArrayList<Double&gt(); 
ログイン後にコピー

ただし、リストの特定のタイプが不明であるため、このワイルドカード宣言はリストに要素を直接追加することを禁止します。たとえば、整数を foo3 に追加することは、ArrayList である可能性があるため許可されません。

対照的に、ワイルドカード宣言 List

実際的な意味を説明するために、次の Collections.copy() 呼び出しは、ワイルドカードを使用して、関連するリスト間でデータを柔軟にコピーできる方法を示しています。 type:

Collections.copy(new ArrayList<Number>(), new ArrayList<Number>());
Collections.copy(new ArrayList<Number>(), new ArrayList<Integer>());
Collections.copy(new ArrayList<Object>(), new ArrayList<Number>());
Collections.copy(new ArrayList<Object>(), new ArrayList<Double>());
ログイン後にコピー

結論として、List<にデータを追加します? Number> を拡張します。 List

以上がデータを「リスト」に追加できないのはなぜですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート