【问题标题】:Find BigDecimal in a Set [duplicate]在集合中查找 BigDecimal [重复]
【发布时间】:2019-03-07 20:32:37
【问题描述】:

考虑到

new BigDecimal("0").equals(new BigDecimal("0.0")) == false

如何使用“compareTo”逻辑在 java.util.Set 中找到 BigDecimal?

new BigDecimal("0").compareTo(new BigDecimal("0.0")) == 0

【问题讨论】:

  • 你想达到什么目的?
  • 什么类型的SetHashSetSortedSet 等等?
  • 使用TreeSet,它使用compareTo,不像HashSet,它使用equalshashCode
  • 我在现有代码中发现了一个错误。我正在尝试找到解决问题的巧妙方法。
  • @Deadpool OP 已经知道这一点,这就是为什么 OP 希望 Set 使用 compareTo 而不是 equals。 OP 正在询问如何让Set 做到这一点。

标签: java collections bigdecimal


【解决方案1】:

使用TreeSet,默认使用compareTo(),不像HashSet,使用equals()hashCode()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-01-30
    • 2011-09-23
    • 2023-02-24
    • 1970-01-01
    • 2011-08-28
    • 1970-01-01
    • 2018-09-26
    相关资源
    最近更新 更多