How do I represent an empty list in java?
本问题已经有最佳答案,请猛点这里访问。
我让这个类有一个以字符串和数组列表为参数的构造函数;
1 2 3 4 5 6 7 8 9 |
所以当我像下面这样初始化类时:
1 | Foo one = new Foo("boo", []); |
号
它会产生错误。好吧,我可以这样做让它工作:
第一个解决方案不起作用有什么原因吗?或者,是否有方法进行一些更改以使其生效?谢谢
要用Java表示一个空列表(ArayList是一个列表),我们使用EDCOX1(2)。
所以你可以用这样的方法:
埃多克斯1〔3〕
如果您需要其他方法来创建Java中的新列表,请参见此如何在Java中创建新列表的答案。
现在,您可能已经将数组与arraylist混合在一起,从而使用类似数组的语法[]来创建arraylist。但是,这也是语言规范的偏离标记,您可以阅读更多关于如何从这里创建数组,或者总是更好地使用标准Java文档。
而且,与您的问题无关,但您应该始终将代码编码到接口。
您的类
1 2 3 4 5 6 7 8 9 |
第一个解决方案是错误的,因为您没有将ArrayList的实例传递给构造函数。要创建空的arraylist,可以使用:
1 |
号
您可以重写foo类以使用列表的泛型类型:
1 2 3 4 5 6 7 8 9 |
…并使用EDOCX1[1]表示空列表:
1 |
。
typeoperator函数定义需要arraylist类型的参数。该示例正在尝试传递空数组文本。
第一个解决方案不正确,因为ArrayList和[]之间的类型不匹配。
一个可能的解决方案是将函数定义更改为
1 2 3 4 |
可以通过
1 | TypeOperator("somestring", new <some-type> [<some-dimension>]); |
。