相等运算符中的 MVEL 空值
MVEL null value in equality operator
如果我在 MVEL 中有这个脚本:
myString = null;
if (myString == "Foo") {
return true;
}
我会在这个脚本中得到一个空指针吗?
因为我阅读了文档,但它说 ==
运算符类似于 java 中的 .equals()
方法,它按值检查,所以如果一个我脚本中的操作数是假的?
您可能会遇到问题中显示的表达式的问题。试试这个:
if ("Foo" == myString)
它 看起来 像一个愚蠢的变化,但考虑到 equals()
正在 called under the hood,以上将转化为:
if ("Foo".equals(null))
这很好,不像这个,这是你以前的:
if (null.equals("Foo"))
如果我在 MVEL 中有这个脚本:
myString = null;
if (myString == "Foo") {
return true;
}
我会在这个脚本中得到一个空指针吗?
因为我阅读了文档,但它说 ==
运算符类似于 java 中的 .equals()
方法,它按值检查,所以如果一个我脚本中的操作数是假的?
您可能会遇到问题中显示的表达式的问题。试试这个:
if ("Foo" == myString)
它 看起来 像一个愚蠢的变化,但考虑到 equals()
正在 called under the hood,以上将转化为:
if ("Foo".equals(null))
这很好,不像这个,这是你以前的:
if (null.equals("Foo"))