ホームページ >Java >&#&チュートリアル >Java でスーパータイプのリストをサブタイプのリストに安全にキャストするにはどうすればよいですか?

Java でスーパータイプのリストをサブタイプのリストに安全にキャストするにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-08 19:28:11871ブラウズ

How Can I Safely Cast a List of Supertypes to a List of Subtypes in Java?

スーパータイプのリストをサブタイプのリストにキャストする

2 つのクラスが関係する次のシナリオを考えてみましょう。

public class TestA {}
public class TestB extends TestA {}

リストそれを List に変換したいと考えています。

キャスト手法

リストへのキャスト型が消去されるため、直接は機能しません。ただし、中間のワイルドカード型を使用する回避策があります。

List<TestB> variable = (List<TestB>)(List<?>) collectionOfListA;

このアプローチは、警告がチェックされていないにもかかわらず、ワイルドカード型との間でキャストできるため許可されます。ワイルドカード タイプは中間ステップとして機能し、スーパータイプ要素のリストをサブタイプ要素のリストにキャストできるようにします。

以上がJava でスーパータイプのリストをサブタイプのリストに安全にキャストするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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