当我尝试添加到数组列表(纵梁)时,出现此错误:
error: no suitable method found for add(Fish)
stringer.add(f);
在此代码中:
public class Habitat {
ArrayList<String> stringer = new ArrayList<String>();
int[] fishArr;
public int maxCount=25;
public int minCount=9;
public int maxWeight=10;
public int minWeight=1;
public int catchProbability=30; //0.3
public int[] stockUp(){
int numofF = minCount + (int)(Math.random() * ((maxCount - minCount) + 1));
for(int i = 0; i<numofF; i++){
fishArr[i] = minWeight + (int)(Math.random() * ((maxWeight - minWeight) + 1));
}
return fishArr;
}
public Habitat(){
int[] hab;
}
public void addFish(Fish f) {
stringer.add(f);
}
public void removeFish(Fish f){
stringer.remove(f);
}
public void printFish(){
System.out.println(stringer);
}
}
删除工作正常,所以我不明白为什么添加不起作用。我希望问题得到解释,这样我就不会再犯同样的错误。
最佳答案
您已声明 List
这样它就期待 String
仅值,但您试图添加 Fish
反对它...
这违反了您与 ArrayList
签订的契约(Contract)
尝试使用ArrayList<Fish> stringer = new ArrayList<Fish>();
相反
看看Generics了解更多详情
关于java - 添加到数组列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21978005/