java - EE 6 JSF EL 中的 Java 是否有相当于 '==' 的值

标签 java jsf jakarta-ee jsf-2 el

我正在 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/

相关文章:

java - 为不同于 JVM 的 war 设置语言环境?

java - 将查询参数传递给graphicImage以防止img缓存

java - JSF Composite 组件仅在一页中运行

java - JPA @EJB 注入(inject)不起作用并给出 NullPointerException

java - 如何设置 Coap Observer 来监听响应

java - BigDecimal bigDecimal = BigDecimal.ONE;

java - 尝试运行 Facelets 中嵌入的小程序时不兼容的魔法值 1010792557

jpa - JakrataEE 代码在带有 JTA 数据源的 TomEE 上运行,但由于 RESOURCE_LOCAL 配置而失败

java - 我应该选择 == 还是 eq 来比较 EL 中的字符串?

java - 为什么 Java 在字符串操作中使用一个过去索引作为上限?