簡體   English   中英

Java ArrayList,返回抽象類的ArrayList的訪問方法

[英]Java ArrayList, access method to return ArrayList of abstract class

我有一個包含從抽象類派生的對象的ArrayList ,有沒有辦法返回抽象類類型的數組列表,然后使用多態性來引用原始對象?

我能看到的唯一方法是創建一個抽象類類型的ArrayList ,然后將原始ArrayList的元素復制到其中,但我不想復制。

假設您的具體類是Integer而您的抽象類Number

如果您願意接收轉換為List<Number>而不是ArrayList<Number> (無論如何都是一種好習慣),則可以執行以下操作:

List<Integer> listOfConcrete = new ArrayList<>(); // your actual list
List<Number> listOfAbstract = listOfConcrete.stream()
  .map(n -> (Number) n)
  .collect(Collectors.toList());

您需要在map()調用中進行顯式轉換,以便正確執行轉換。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM