Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 访问接口对象的ArrayList_Java_Interface_Arraylist - Fatal编程技术网

Java 访问接口对象的ArrayList

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

我有一个ArrayList,它使用一个名为drinkList的接口在一个名为drinkList的ArrayList中存储不同种类的对象,比如咖啡、苏打水、茶。我想声明一个包含drinkList中第I个元素的组件的drink对象,不知道该对象是什么类型的。我该怎么做

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;}编辑问题以包含代码,而不是将其放在注释中。