[英]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.