我是 Groovy 的新手,尽管阅读了很多有关此的文章和问题,但我仍然不清楚发生了什么。
据我目前的了解,当您在 Groovy 中创建一个新数组时,底层类型是 Java ArrayList。这意味着它应该是可调整大小的,您应该能够将其初始化为空,然后通过 add 方法动态添加元素,如下所示:
MyType[] list = []
list.add(new MyType(...))
可以编译,但在运行时失败:没有方法签名:[LMyType;.add() 适用于参数类型:(MyType) 值:[MyType@383bfa16]
执行此操作的正确方法或正确类型是什么?
Groovy 的方法是
def list = []
list << new MyType(...)
它创建一个列表并使用重载的leftShift http://docs.groovy-lang.org/2.4.3/html/groovy-jdk/java/util/Collection.html#leftShift(java.lang.Object)附加项目的运算符
看看 Groovy列表上的文档 http://groovy-lang.org/groovy-dev-kit.html#_working_with_collections有很多例子。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)