[英]How can I call a method of a specific object that is stored in an arraylist in Java?
[英]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
的界面
在Cola
和Milk
實現接口Drink
存儲為ArrayList <Drink> list;
創建一個Drink
界面,修改Cola
和Milk
以implements Drink
,然后可以使用List<Drink> list2
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.