Java 相等运算符中的MVEL null值

Java 相等运算符中的MVEL null值,java,mvel,Java,Mvel,如果我在MVEL中有此脚本: myString = null; if (myString == "Foo") { return true; } 我会在这个脚本中得到一个空指针吗 因为我阅读了文档,但它说=运算符类似于java中的.equals()方法,该方法通过值进行检查,所以如果脚本中的一个操作数为false,我会被抛出一个空指针吗?您可能会遇到问题中所示表达式的问题。请尝试以下方法: if ("Foo" == myString) 这看起来像是一个愚蠢的改变,但考虑到equals

如果我在MVEL中有此脚本:

myString = null;

if (myString == "Foo") {
    return true;
}
我会在这个脚本中得到一个空指针吗


因为我阅读了文档,但它说
=
运算符类似于java中的
.equals()
方法,该方法通过值进行检查,所以如果脚本中的一个操作数为false,我会被抛出一个空指针吗?

您可能会遇到问题中所示表达式的问题。请尝试以下方法:

if ("Foo" == myString)
这看起来像是一个愚蠢的改变,但考虑到
equals()
正在进行,上述内容将转化为:

if ("Foo".equals(null))
这很好,不同于你以前拥有的:

if (null.equals("Foo"))

这是一个很好的小技巧,但我很好奇equals方法是否真的是在幕后调用的。我目前没有测试它的开发环境是的,根据这个,它只是说它相当于-它不一定意味着它被调用。为什么我被否决了?