我正在 JSF 2 和 Primefaces 3.4 中工作,我发现了一个示例,其中 xhtml 中的“==”的行为与 Java 中的“==”不同。我在 Java EE 6 文档中找不到“==”运算符的详细信息。它到底有什么作用? EL 中的对象是否有相当于 Java '==' 的功能?
最佳答案
Is there an equivalent of Java '==' for Objects in EL?
看起来不是,但你并不真正需要它。 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;
}
更多信息:
关于java - EE 6 JSF EL 中的 Java 是否有相当于 '==' 的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19498926/