java – 如何检查BigDecimal是否在一个集合或映射中以一个比例尺
发布时间:2020-12-14 05:22:59 所属栏目:Java 来源:网络整理
导读:BigDecimal的equals()方法也比较规模,所以 new BigDecimal("0.2").equals(new BigDecimal("0.20")) // false 这是contested为什么它的行为. 现在,假设我有一个Set BigDecimal如何检查该集合中的0.2是否是独立的? SetBigDecimal set = new HashSet();set.add
BigDecimal的equals()方法也比较规模,所以
new BigDecimal("0.2").equals(new BigDecimal("0.20")) // false 这是contested为什么它的行为. 现在,假设我有一个Set< BigDecimal>如何检查该集合中的0.2是否是独立的? Set<BigDecimal> set = new HashSet<>(); set.add(new BigDecimal("0.20")); ... if (set.contains(new BigDecimal("0.2")) { // Returns false,but should return true ... } 解决方法
如果您将HashSet切换到
a
TreeSet ,则contains()将按照要求运行.
它与大多数集合不同,因为它将基于compareTo()方法而不是equals()和hashCode()来确定等式:
而且自从 或者,您可以确保集合中的所有元素都相同,最小化,始终使用 set.add(new BigDecimal("0.20").stripTrailingZeros()); ... if (set.contains(new BigDecimal("0.2").stripTrailingZeros()) { ... } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |