我正在使用Trove集合,更具体地说,它是用于int的原始arrayList。
列表的声明如下:
TIntArrayList list= new TIntArrayList();
但是,我遇到无法解释的编译错误。当我声明列表如下时:
import gnu.trove.list.array.TIntArrayList;
public class Main {
TIntArrayList list= new TIntArrayList();
}
,代码将按预期正确运行。但是,当我声明列表(使用不同的import语句)时,如下所示:
import gnu.trove.*;
public class Main {
TIntArrayList list= new TIntArrayList();
}
,出现有关无法识别TIntArrayList的编译错误。
我想知道为什么会出现此错误?我认为使用
*
可以识别该列表。当使用java.util.*;
代替java.util.arrayList;
时,不会出现此错误。 最佳答案
区别在于*
不会导入子级别,而只会导入当前级别中的所有内容。如果使用import gnu.trove.list.array.*
,它将按预期工作。
它在java.util.*
上起作用的原因是因为ArrayList
类与通配符位于同一文件夹中。
关于java - 编译错误,无法识别列表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18197088/