groovy:在类中定义的变量中添加和删除元素

时间:2016-01-18 02:45:16

标签: list groovy

我正在尝试让这个课程运行,但我一直在遇到问题。我是Java的新手,不确定我是否正确地这样做了。如果有人可以帮助我将一些元素添加到列表中,我可以弄清楚其余部分!

class ListPractice implements Testable {

    def mylist = [4,5,6]

    /**
     * Adds a set of elements to the mylist variable
     *
     * @param elts The elements to be added
     */
    def addToList(List elts) {

        def newlist = getMylist()+List
        return newlist
    }

    @Override
    void testMe() {
        addToList([7,8,9])
        assert  getMylist() == [4,5,6,7,8,9]
        assert  getMylist() == [7,8,9]
    }
}

1 个答案:

答案 0 :(得分:0)

您要添加List而不是elts。您要查找的方法是addAll

groovy:000> l = [1,2,3]
===> [1, 2, 3]
groovy:000> l.addAll([4,5,6])
===> true
groovy:000> l
===> [1, 2, 3, 4, 5, 6]

由于addtoList听起来好像你打算改变this,为什么要创建一个 新的,退货,以后再也不用了?所以:mylist.addAll(elts)应该 够了。

相关:

  • 只需写mylist而不是getMylist() - 它是groovy
  • 您对addToList的评论说set,但接受list。套装有 不同于列表的特征,所以令人困惑。如果你重命名它 到addToMylist你可能根本不需要评论。