我是Groovy的新手,并且在运行此程序时遇到了一些麻烦。我试图做的就是将一个列表的所有元素添加到另一个列表中,但我甚至无法访问方法中我想要的变量。
我环顾四周寻找答案,但似乎对于一个人的问题来说太过具体,或者对我对Groovy的有限理解太过技术性。任何帮助表示赞赏。
如果有所不同,请在IntelliJ IDEA中使用Groovy 2.4.5
。这是我试图运行的代码:
class ListPractice implements Testable {
def mylist = [4,5,6]
/**
* Adds a set of elements to the mylist variable
*
* @paraelts The elements to be added
*/
def addToList(List elts) {
myList.each{
println "I: $it"
}
}
@Override
void testMe() {
addToList([7,8,9])
}
}
但它会引发以下错误:
Caught: groovy.lang.MissingPropertyException: No such property: myList
for class: ListPractice
Possible solutions: mylist
groovy.lang.MissingPropertyException: No such property: myList for class: ListPractice
Possible solutions: mylist
at ListPractice.addToList(ListPractice.groovy:14)
at ListPractice$addToList.callCurrent(Unknown Source)
at ListPractice.testMe(ListPractice.groovy:36)
at Testable$testMe.call(Unknown Source)
at RunMe$_main_closure1.doCall(RunMe.groovy:12)
at RunMe.main(RunMe.groovy:11)
由于这是我第一次使用该语言而代码的结构是由我的老师完成的,我甚至不确定@Override
是否必要或它的作用。
答案 0 :(得分:7)
资本化很重要
您将列表声明为mylist
然后您尝试在myList
它会在错误消息中显示