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