exception - Grails - 无法在空对象上调用方法 getAt()

标签 exception grails groovy null

尝试将书籍附加到书籍的类(class)列表时出现错误。关于为什么或我可以做些什么来解决它的任何想法?

        //For each book in a class...
        for (int k = 0; k < rows.size(); k++) {
            Book book = new Book()

            //Assign the values to a new book object
            book.id            = rows[k].getProperty("ISBN")
            book.title         = rows[k].getProperty("title")
            book.author        = rows[k].getProperty("author")
            book.required      = rows[k].getProperty("required_optional")
            book.purchaseType  = rows[k].getProperty("rental_purchase")
            //book.purchasePrice = rows[k].getProperty("purchase_price")
            //book.rentalPrice   = rows[k].getProperty("rental_fee")

            //Append the book to the books list object in the particular class
            classes[i].books[k + 1] << book
        }

最佳答案

不是通过 [] 访问,而是使用 getAt,然后 ? 运算符将起作用:

classes?.getAt(i)?.books?.getAt(k+1) << book

classes?.getAt(i)?.books[k+1] << book

关于exception - Grails - 无法在空对象上调用方法 getAt(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14733624/

相关文章:

javascript - 尝试扩展 Angular 2ExceptionHandler 类时没有提供程序异常

grails - 使用 Grails 进行长轮询

grails - Grails 中的 Fixtures 插件引用完整性异常

java - 使用 Groovy 解压缩存档

java - Grails 可以从远程目录中读取文件吗?

c++ - 创建从现有派生的新异常

c# - PropertieInfo 的 GetValue 抛出 TargetParameterCountException (System.Reflection)

Groovy:方法的模棱两可的方法重载

c# - Ninject - Binding.GetProvider 抛出 NullReferenceException

grails - 如何跳过特定约束的验证?