如何在Java中表示一个空列表?

ZHI*_*ENG 0 java list arraylist

我有这个类的构造函数以String和Arraylist作为参数;

class Foo{
    String ide;
    ArrayList list;

    public TypeOperator(String ide, ArrayList list){
        this.ide = ide;
        this.list = list;
    }
}
Run Code Online (Sandbox Code Playgroud)

所以当我像下面这样初始化类时:

Foo one = new Foo("boo", []);
Run Code Online (Sandbox Code Playgroud)

它给出了错误。好吧,我可以这样做以使其工作:

ArrayList empty = new ArrayList();
Foo one = new Foo("boo", empty);
Run Code Online (Sandbox Code Playgroud)

有什么理由使第一个解决方案不起作用?还是有办法进行一些更改以使其起作用?谢谢

小智 6

为了表示Java中的空列表(ArrayList List),我们使用java.util.Collections.emptyList()

因此,您可以使用如下所示的内容:

Foo foo = new Foo("boo", (ArrayList) java.util.Collections.emptyList());

如果您需要其他方法在Java中创建新列表,请参见此答案如何在Java中创建新列表

现在,您可能已经将Arrays与ArrayList混合使用,导致使用了像语法[]这样的数组来创建ArrayList。但这也与语言规范背道而驰,您可以在此处阅读更多关于如何从SO中创建数组的信息,或者,更好的是,通过标准Java文档阅读。

并且,与您的问题无关,但是您应该始终编​​写接口代码