gpt4 book ai didi

java - 在 GWT 中比较两个 JavaScriptObject 的最佳方法是什么?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:19:17 27 4
gpt4 key购买 nike

看起来 hashCode() 和 equals() 被声明为 final。所以重写实现是不可能的。它还指出,如果对象是 JavaScript 相同的(三重相等),则 equals() 返回 true。我不太确定这意味着什么,因为在 GWT 中创建两个相同的 JavaScriptObject,并将它们与 equals() 进行比较会返回 false。看起来 hashcode() 使用单调递增的计数器将哈希码分配给底层 JavaScript 对象。如果我想将 JavaScriptObjects 存储在一个 Set 中,这会使事情变得复杂。任何帮助将非常感激。

最佳答案

这取决于您要针对您的情况使用哪种平等标准。

  • 如果您想要对象身份,您可以使用预定义的 equals() 和 hashCode() - 并将 JavaScriptObjects 直接放入 HashSet 中。
  • 如果您需要不同的相等性概念,您可以编写自己的比较器并将 JavaScriptObjects 放入例如一个 TreeSet,由 new TreeSet(comparator) 创建。
  • 如果您需要将 JavaScriptObjects 放入 HashSet(而不是 TreeSet)中,并且仍然需要不同的相等性概念,则不能将 JavaScriptObjects 直接放入 Set 中。然后您必须编写一个包装类,其中包含 JavaScriptObject,并实现 equals() 和 hashCode()。

关于java - 在 GWT 中比较两个 JavaScriptObject 的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4686738/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com