我正在使用Trove集合,更具体地说,是整数的原始 arrayList。
列表声明如下:
TIntArrayList list= new TIntArrayList();
但是,我遇到了无法解释的编译错误。当我按如下方式声明列表时:
import gnu.trove.list.array.TIntArrayList;
public class Main {
TIntArrayList list= new TIntArrayList();
}
,代码按预期正确运行。但是,当我声明列表(使用不同的导入语句)时,如下所示:
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/