簡體   English   中英

JAVA:如何使用對象包裝實例將ArrayList初始化為特定的類類型?

[英]JAVA: How can I initialize an ArrayList to specific class type with Object-wrapped instance?

假設我們有以下兩種class類型:

class Cola {}
class Milk {}

還有一個類型為上述類之一的Object實例:

public Object getDrink(boolean random){
    if(random)
        return new Cola();
    else
        return new Milk();
}
Object drink = getDrink(random);

當然,我可以通過調用drink.getClass()drink.getClass().getCanonicalName()來檢查drink的類別。 沒關系。

我的問題是,我想創建並初始化一個drink類類型而不是Object類型的ArrayList。

ArrayList<Object> list   // This is NOT what I want.
ArrayList<drink.getClass()> list2   // Exactly what I want (but not right)


我怎樣才能做到這一點?

創建一個名為Drink的界面

ColaMilk實現接口Drink

存儲為ArrayList <Drink> list;

創建一個Drink界面,修改ColaMilkimplements Drink ,然后可以使用List<Drink> list2

暫無
暫無

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

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