Groovy 整数上的isNumber()抛出错误

Groovy 整数上的isNumber()抛出错误,groovy,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 t

此错误是否意味着我正在对空值调用
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: []

isNumber
String
的一种方法。你把它叫做一个整数-

对一个号码调用
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: []

isNumber
String
的一种方法。你把它叫做一个整数-

对一个号码调用
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: []

此错误意味着:类
java.lang.Integer
没有方法
isNumber()

方法
isNumber()
属于类
java.lang.String
。见文件:

也许你正在尝试这样做:

123.isNumber() // will trow the error
而正确的答案是:

"123".isNumber()

此错误意味着:类
java.lang.Integer
没有方法
isNumber()

方法
isNumber()
属于类
java.lang.String
。见文件:

也许你正在尝试这样做:

123.isNumber() // will trow the error
而正确的答案是:

"123".isNumber()

哪一部分比较混乱?为什么要对int或整数调用isNumber()?该方法不存在,但不清楚为什么要这样做。我实际上刚刚意识到,结果是对已经是整数的对象调用该方法。我这样做是因为我事先不知道我需要调用它,它可能不一定能转换成整数。现在我已经解决了。哪一部分比较混乱?为什么要对int或整数调用isNumber()?该方法不存在,但不清楚为什么要这样做。我实际上刚刚意识到,结果是对已经是整数的对象调用该方法。我这样做是因为我事先不知道我需要调用它,它可能不一定能转换成整数。不过我现在已经修好了。