0

我正在使用 Primefaces 3.4 在 JSF 2 中工作,我发现了一个示例,其中我的 xhtml 中的 '==' 的行为与 Java 中的 '==' 不同。我在 Java EE 6 文档中找不到“==”运算符的详细信息。它究竟是做什么的?EL 中的对象是否有相当于 Java '==' 的东西?

4

1 回答 1

2

EL 中的对象是否有相当于 Java '==' 的东西?

看起来不是,但你并不真的需要它。EL ==(and eq) 在比较对象引用时会使用该equals方法,并且已经支持null比较。如果你的类碰巧没有 override 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;
}

更多信息:

于 2013-10-21T15:55:08.950 回答