在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教程:表达式语言:运算符