我有以下内容:
this.replaceBand1 = "1";
...
var replaceEndValue = Integer.valueOf(this.replaceBand1);
replaceBeginValue = replaceEndValue + 1;
//what is going on?
var type1 = typeOf replaceEndValue;
var type2 = typeOf replaceBeginValue;
log.debug("replaceEndValue: " + replaceEndValue + " " + type1);
log.debug("replaceBeginValue: " + replaceBeginValue + " " + type2);
...
setValue(column1, replaceEndValue);
setValue(column2, replaceBeginValue);
我的预期结果:replaceBeginValue将等于2,我可以将其传递给需要整数的函数setValue。
实际结果:replaceEndValue有效,replaceBeginValue不起作用。
第一个调试显示 - replaceEndValue: 1 object
第二个调试显示 - replaceBeginValue 2 string
我不知道为什么replaceBeginValue是一个字符串。有人可以帮忙吗?
答案 0 :(得分:0)
您需要parseInt
而不是Integer.valueOf
。函数parseInt
返回int
基元类型。
如果你希望replaceBeginValue
等于2,你需要这样的东西:
this.replaceBand1 = "1";
...
var replaceEndValue = parseInt(this.replaceBand1);
replaceBeginValue = replaceEndValue + 1;
...
注意:Integer.valueOf
适用于Java而非JavaScript。