假设我们下面有两种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
类类型的ArrayList,而不是Object
类型。
ArrayList<Object> list // This is NOT what I want.
ArrayList<drink.getClass()> list2 // Exactly what I want (but not right)
我怎么能这样做?
答案 0 :(得分:3)
创建名为Drink
同时Cola
和Milk
实现接口Drink
以ArrayList <Drink> list;
答案 1 :(得分:2)
创建Drink
界面,修改Cola
和Milk
至implements Drink
,然后您可以使用List<Drink> list2
。