JAVA:如何使用Object-wrapped实例将ArrayList初始化为特定的类类型?

时间:2016-11-09 02:04:39

标签: java object arraylist

假设我们下面有两种class类型:

class Cola {}
class Milk {}

一个Object实例,其类型是上述类之一:

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

当然,我可以通过调用drinkdrink.getClass()左右来查看drink.getClass().getCanonicalName()的课程。没关系。

我的问题是,我想制作并初始化drink类类型的ArrayList,而不是Object类型。

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


我怎么能这样做?

2 个答案:

答案 0 :(得分:3)

创建名为Drink

的界面

同时ColaMilk实现接口Drink

ArrayList <Drink> list;

存储

答案 1 :(得分:2)

创建Drink界面,修改ColaMilkimplements Drink,然后您可以使用List<Drink> list2