数组初始化操作繁琐,如何优化该Groovy函数的实现?
更优雅的Groovy写法来实现该函数
绝对有更优雅的写法!Groovy的语法糖就是用来解决这种冗余代码的,你完全可以抛弃预先定义数组大小的繁琐步骤,直接利用Groovy的集合字面量来简化:
static Collection<Object[]> defineObjects() { [ [object11, object12, object13, object14] as Object[], [object21, object22, object23, object24] as Object[] ] }
为什么这更优雅?
- 不需要预先声明数组大小:Groovy的列表字面量可以直接构造集合,省去了
new Object[2][4]这种冗余的初始化操作。 - 代码更简洁直观:一眼就能看出你要返回的是包含两个数组的集合,结构清晰。
- 扩展性更好:后续如果需要添加更多数组元素,直接在列表里新增一行即可,不用修改任何初始大小的定义。
另外要提一句,你原代码里的new Object[2][4]其实是多余的——因为你后续直接给myObjects[0]和myObjects[1]赋值了新的数组,原先初始化的长度为4的子数组会被直接丢弃,完全起不到作用。
内容的提问来源于stack exchange,提问作者BevynQ
相关产品推荐
相关产品推荐

