2012-11-03 37 views
0

所以我有这个ArrayList存储不同类型的对象,如咖啡,苏打水,茶在一个名为drink的接口称为drinkList的ArrayList。我想要声明一个饮料对象,它包含drinkList中的第i个元素的组件,不知道该对象是什么类型。我将如何做到这一点?访问接口对象的ArrayList

public boolean contains (String drinkName, ArrayList drinkList){ 
boolean ifThere = false; 
int sizeList = drinkList.size() -1; 
for(int i=0; sizeList > i; i++){ 
Drink booleanDrink = drinkList.get(i); 
    String booleanName = booleanDrink.getName(); 
    if (booleanName.equals(drinkName)){ 
     ifThere = true; 
} 
} 
return ifThere; 
} 
+0

这是我的: Drink aDrink = drinkList.get(5); (出现不兼容的类型) – Johnny

+0

'ArrayList'使用基于0的索引,所以要使用'drinkList.get(4);' – JohnnyHK

+0

获得第五个元素我想你需要显示你的代码来得到这个答案,因为这个概念听起来不错。 – JohnnyHK

回答

0

您需要转换结果get呼叫到一个Drink为:

Drink booleanDrink = (Drink) drinkList.get(i); 

或者使用ArrayList<Drink>,而不是一个简单的ArrayList