Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/grails/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
重写toString()导致grails域类中出现空指针_Grails_Nullpointerexception - Fatal编程技术网

重写toString()导致grails域类中出现空指针

重写toString()导致grails域类中出现空指针,grails,nullpointerexception,Grails,Nullpointerexception,因此,当我使用下面的方法重写toString()方法时(与我在许多项目中几乎所有其他域类中使用的方法相同),它会在创建此对象的实例时导致空指针。删除toString()可修复此错误。不知道为什么( 我会采取更具防御性的态度,并选择: @Override String toString() { return (name ?: "") } 只是为了确保不发回空值,因为toString应该是可打印的。我会采取更具防御性的做法,并选择: @Overrid

因此,当我使用下面的方法重写toString()方法时(与我在许多项目中几乎所有其他域类中使用的方法相同),它会在创建此对象的实例时导致空指针。删除toString()可修复此错误。不知道为什么(


我会采取更具防御性的态度,并选择:

    @Override
    String toString() {
        return (name ?: "")
    }

只是为了确保不发回空值,因为toString应该是可打印的。

我会采取更具防御性的做法,并选择:

    @Override
    String toString() {
        return (name ?: "")
    }

只是为了确保不发回null,因为toString应该是可打印的。

Wild guess:grails在返回的
toString
对象上调用一些方法。在实例化时
name
为null,因此它尝试调用
null.someMethod()
导致NullPointerException。您需要重写
字符串
方法的目的是什么?请提供一些引用所创建实例的代码。问题可能是theredef lol=new Vertical()胡乱猜测:grails在返回的
toString
对象上调用某个方法。在实例化时
name
为null,因此它尝试调用
null.someMethod()
导致NullPointerException。您需要重写
toString
方法的目的是什么?请提供一些引用所创建实例的代码。问题可能是theredef lol=new Vertical()是的,我使用了这个方法(我没有“返回”).仍然想知道grails为什么不那么喜欢它;是的,我同意了这个(好吧,我没有“回报”)。仍然想知道grails为什么不那么喜欢它;p