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