import java.util.*;
class A{
public static void main(String[] args){
}
private List <B> bList;
private Random generator = new Random();
A(List<B> initialList){
bList = new ArrayList<B> ();
int listSize = initialList.size();
bList.ensureCapacity(listSize);
for (B b : initialList) {
int bIndex = generator.nextInt(listSize);
bList.add(bIndex , b);
}
}
}
class B{
}
我一直在阅读错误
Exception in thread "main" java.lang.RuntimeException: Uncompilable source code - Erroneous sym type: java.util.List.ensureCapacity
最佳答案
ensureCapacity 不是 List 类型的方法。
是的,它是 ArrayList 的一个方法,但是引用 bList 是一个 List,你应该将它强制转换为 ArrayList 以使用该方法,如下所示:
((ArrayList<B>) bList).ensureCapacity(listSize);
for (B b : initialList) {
int bIndex = generator.nextInt(listSize);
bList.add(bIndex , b);
}
顺便说一句,在我的整个程序生命周期中,我从来没有直接调用过ArrayList 的ensureCapacity 方法。
关于java - 确保容量无法识别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15445827/