我在JavaScript中使用replace方法时遇到问题。当值为null时,应用程序崩溃。解决这个问题的最佳方法是什么?
datafield.putValue(value.replace("~","&"));
更新
所有需要的是一个简单的if语句。
if(value != null)
{
datafield.putValue(value.replace("~","&"));
}
答案 0 :(得分:4)
当然,您可以使用if
来放置任何内容或放置null
:
if (Value != null) {
datafield.putValue(Value.replace("~","&"));
}
或
if (Value != null) {
datafield.putValue(Value.replace("~","&"));
} else {
datafield.putValue(null);
}
...但是如果你想做最后一次,我会使用条件运算符:
datafield.putValue(Value == null ? null : Value.replace("~","&"));
...或者更换得足够聪明,以便在空时无法检查...
如果Value
为null
,则永远不会调用replace
(在Java中)。因此,replace
无法成为"聪明的"足以处理它。
附注:由于搜索文本和替换文件只有一个字符长,因此您可以使用char
-based version of replace
代替CharSequence
-based one:Value.replace('~', '&')