在EE 6 JSF EL中是否存在与Java相当的’==’
我在使用Primefaces 3.4的JSF 2中工作,我找到了一个例子,其中我的xhtml中的’==’在Java中的行为与’==’不同。 我在Java EE 6文档中找不到’==’运算符的详细信息。 它到底是做什么的? EL中的对象是否有等效的Java’==’?
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; }
更多信息:
- Java EE教程:表达式语言:运算符