一尘不染

在Groovy中向ArrayList动态添加元素

java

我是Groovy的新手,尽管阅读了许多有关此的文章和问题,但我仍然不清楚发生了什么。到目前为止,据我了解,当您在Groovy中创建新数组时,底层类型是Java
ArrayList。这意味着它应该可调整大小,您应该能够将其初始化为空,然后通过add方法动态添加元素,如下所示:

MyType[] list = []
list.add(new MyType(...))

编译,但是在运行时失败:方法的无签名:[LMyType; .add()适用于参数类型:(MyType)值:[MyType @ 383bfa16]

什么是正确的方法或正确的类型?


阅读 1016

收藏
2020-12-03

共1个答案

一尘不染

Groovy的方法是

def list = []
list << new MyType(...)

这将创建一个列表,并使用重载的leftShift运算符来附加项目

有关许多示例,请参见Lists上的Groovy 文档

2020-12-03