在EE 6 JSF EL中是否有来自Java的'=='

时间:2013-10-21 15:40:48

标签: java jsf java-ee jsf-2 el

我正在使用Primefaces 3.4在JSF 2中工作,我发现了一个例子,其中我的xhtml中的'=='在Java中的行为与'=='不同。我在Java EE 6文档中找不到'=='运算符的详细信息。它到底是做什么的? EL中的对象是否有等效的Java'=='?

1 个答案:

答案 0 :(得分:2)

  

EL中的对象是否有等效的Java'=='

看起来不是,但你真的不需要它。在比较对象引用时,EL ==(和eq)将使用equals方法,并且它已经支持null比较。如果您的类碰巧没有覆盖equals,那么它将使用Object#equals结束使用Java ==进行相等性检查。

如果您的类恰好覆盖equals方法,请务必编写一个好的实现。例如:

public boolean equals(Object o) {
    if (o == null) {
        return false;
    }
    if (this == o) {
        return true;
    }
    if (...) {
        //add here the rest of the equals implementation...
    }
    return false;
}

更多信息: