假设我们下面有2个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
或drink.getClass()
来检查drink.getClass().getCanonicalName()
的类。没关系。我的问题是,我想创建并初始化
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;