编译错误,列表无法识别

kar*_*s10 0 java import

我正在使用Trove集合,更具体地说,它是用于int的原始arrayList.

该清单的声明如下:

TIntArrayList list= new TIntArrayList();
Run Code Online (Sandbox Code Playgroud)

但是,我面临编译错误我无法解释.当我声明列表如下:

import gnu.trove.list.array.TIntArrayList;

public class Main {

   TIntArrayList list= new TIntArrayList();
}
Run Code Online (Sandbox Code Playgroud)

,代码按预期正确运行.但是,当我声明列表(具有不同的import语句)时,如下所示:

import gnu.trove.*; 

public class Main {

    TIntArrayList list= new TIntArrayList();
}
Run Code Online (Sandbox Code Playgroud)

,出现关于无法识别TIntArrayList的编译错误.

我想知道为什么会出现这个错误?我认为通过使用*列表应该得到认可.java.util.*;使用时不会出现此错误java.util.arrayList;.

Xyn*_*riz 6

不同之处在于*不导入子级别,而只导入当前级别的所有内容.如果您使用过import gnu.trove.list.array.*,它将按预期工作.

它的工作原因java.util.*是因为ArrayList该类与通配符位于同一文件夹中.