Java 访问接口对象的ArrayList
我有一个ArrayList,它使用一个名为drinkList的接口在一个名为drinkList的ArrayList中存储不同种类的对象,比如咖啡、苏打水、茶。我想声明一个包含drinkList中第I个元素的组件的drink对象,不知道该对象是什么类型的。我该怎么做Java 访问接口对象的ArrayList,java,interface,arraylist,Java,Interface,Arraylist,我有一个ArrayList,它使用一个名为drinkList的接口在一个名为drinkList的ArrayList中存储不同种类的对象,比如咖啡、苏打水、茶。我想声明一个包含drinkList中第I个元素的组件的drink对象,不知道该对象是什么类型的。我该怎么做 public boolean contains (String drinkName, ArrayList drinkList){ boolean ifThere = false; int sizeList = drinkList
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;
}
您需要将
get
调用的Drink
结果强制转换为:
Drink booleanDrink = (Drink) drinkList.get(i);
或者使用
ArrayList
而不是普通的ArrayList
这就是我拥有的:Drink aDrink=drinkList.get(5);(提供不兼容的类型)ArrayList
使用基于0的索引,因此要获取第五个元素,您需要使用drinkList.get(4)代码>我想你需要显示你的代码才能得到答案,因为这个概念听起来不错。公共布尔包含(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=booleandread.getName();if(booleanName.equals(drinkName)){ifThere=true;}}返回ifThere;}编辑问题以包含代码,而不是将其放在注释中。