Java 脚本groovy标记在游戏中工作不正常

Java 脚本groovy标记在游戏中工作不正常,java,groovy,playframework,Java,Groovy,Playframework,嘿,伙计们,我正在使用脚本标签 %{..}% 当我做乘法运算时,它似乎起作用了 up = wrapBenchmark * upperLimit; 但如果我这样做 up = wrapBenchmark + upperLimit; 它似乎将数字作为字符串添加到末尾。就像一根细绳。这里的问题是什么?我只想把两个数字相加。它把一切都当作一根绳子。感谢您的帮助。标准字符串类(java)具有重载运算符+(String concat),而没有重载运算符*(multiply)。所以,当解释器无法对字符串对象

嘿,伙计们,我正在使用脚本标签

%{..}%

当我做乘法运算时,它似乎起作用了

up = wrapBenchmark * upperLimit;
但如果我这样做

up = wrapBenchmark + upperLimit;
它似乎将数字作为字符串添加到末尾。就像一根细绳。这里的问题是什么?我只想把两个数字相加。它把一切都当作一根绳子。感谢您的帮助。

标准字符串类(java)具有重载运算符+(String concat),而没有重载运算符*(multiply)。所以,当解释器无法对字符串对象调用乘法时,它将变量转换为整数。groovy是一种动态类型化语言,所以参数发送就像字符串一样

要解决您的问题,请写此

up = wrapBenchmark.toInteger() + upperLimit.toInteger();
标准字符串类(java)有重载运算符+(字符串concat),没有重载运算符*(乘法)。所以,当解释器无法对字符串对象调用乘法时,它将变量转换为整数。groovy是一种动态类型化语言,所以参数发送就像字符串一样

要解决您的问题,请写此

up = wrapBenchmark.toInteger() + upperLimit.toInteger();

这很有效。我没有得到的是两个整数,我加上了功。问题出在双倍数字上。这很有效。我没有得到的是两个整数,我加上了功。问题出在双倍数字上。