字符串groovy中的引用对象

时间:2012-11-22 00:13:56

标签: grails groovy

如何在groovy中引用字符串中的对象?我有很多对象 - reviewSyd1,reviewSyd2..reviewSyd30,我需要添加到对象 - 悉尼。我有循环

for(i in 1..30){
  sydney.addToReviews("reviewSyd$i")
}

这不起作用。如何让它发挥作用?

谢谢

更新以澄清(对不起,如果我不清楚)

class Review{
   String email
   String Content

}

def rev1 = new Review(email:'one@homail.com',content:'i really like it')
def rev2 = new Review(email:'two@homail.com',content:'i really like it')
def rev3 = new Review(email:'three@homail.com',content:'i really like it')
def rev4 = new Review(email:'four@homail.com',content:'i really like it')

for(i in 1..4){
   println rev$i.email
}

如何引用对象-revX,其中x是迭代器?

1 个答案:

答案 0 :(得分:1)

println rev$i.email    

不那么动态是时髦的。这不是一个有效的groovy语法。 将这些对象放在集合中,以便稍后在代码中访问。

def revs = []
revs << new Review(email:'one@homail.com',content:'i really like it')
revs << new Review(email:'two@homail.com',content:'i really like it')
revs << new Review(email:'three@homail.com',content:'i really like it')
revs << new Review(email:'four@homail.com',content:'i really like it')

然后您将引用它们:

revs.each{
   println it.email
}