我正在開發grails應用程序,並且我已經有一個域類「ExtendedUser」,它具有有關用戶的信息,如「name」,「bio」,「生日」。現在I'm規劃辦user's年齡統計,所以我創造了另一種控制器「StatisticsController」和想法是所有的生辰八字存儲在本地陣列,所以我可以用它如何在Groovy語言中逐個添加項目
class StatisticsController {
// @Secured(["ROLE_COMPANY"])
def teststat(){
def user = ExtendedUser.findAll() //A list with all of the users
def emptyList = [] //AN empty list to store all the birthdates
def k = 0
while (k<=user.size()){
emptyList.add(user[k].birthDate) //Add a new birthdate to the emptyList (The Error)
k++
}
[age: user]
}
}
管理多個計算當我測試時,它向我顯示了這個錯誤消息:無法獲得空對象上的屬性'birthDate' 所以我的問題是如何將所有的生日存儲在單個數組或列表中,所以我可以使用它進行計算。謝謝
所有這些替代解決方案的工作,但你得到錯誤的原因是你讓k經過循環,當它等於user.size(),並且用戶[k]在那一點是關閉列表。如果user.size()== 3,則存在用戶[0],用戶[1]和用戶[2],但不存在用戶[3]。將k <=更改爲k <,您的代碼將起作用。 – billjamesdev