Integer上的isNumber()引发错误

时间:2014-07-17 19:49:19

标签: groovy

这个错误是否意味着我在空值上调用isNumber()?我似乎无法理解它。

No signature of method: 
java.lang.Integer.isNumber() is applicable for argument types: () values: []. 

Stacktrace follows:
Message: No signature of method: 
java.lang.Integer.isNumber() is applicable for argument types: () values: []

2 个答案:

答案 0 :(得分:5)

此错误表示:类java.lang.Integer没有方法isNumber()
方法isNumber()属于类java.lang.String。请参阅文档:http://groovy.codehaus.org/groovy-jdk/java/lang/String.html#isNumber()

也许你正在尝试这样做:

123.isNumber() // will trow the error

正确的是:

"123".isNumber()

答案 1 :(得分:2)

isNumberString的一种方法。您在整数 - http://groovy.codehaus.org/groovy-jdk/java/lang/String.html#isNumber()

上调用它

在号码上拨打isNumber是没有意义的。你知道它已经存在了。您可能希望在可能重新编号的字符串上调用它。

这里是如何在groovy shell中重现的。

groovy:000> new Integer(5).isNumber()
ERROR groovy.lang.MissingMethodException:
No signature of method: java.lang.Integer.isNumber() is applicable for argument types: () values: []