【发布时间】:2019-01-03 01:27:20
【问题描述】:
我有静态字段
private static final BigDecimal MAX_AMOUNT = BigDecimal.valueOf(299_999L);
我收到 CheckStyle 的警告,299_999L 是幻数。
我怎样才能避免这种情况 - 299_999 只是长转换为指定的BigDecimal。
我在 CheckStyle 文档中没有找到任何合适的解决方案。
编辑: 例如,当我输入时它就会出现:
private static final BigDecimal MAX_AMOUNT = BigDecimal.valueOf(299_999L).setScale(4, BigDecimal.ROUND_HALF-EVEN)
【问题讨论】:
-
有趣!我无法重现这种行为。您使用的是哪个版本的 Checkstyle?您可以分享 checkstyle.xml 中的
MagicNumber配置吗?根据docs,您不应该收到此警告。 -
太糟糕了。当我输入 BigDecimal.valueOf(299_999L).setScale(4, BigDecimal.ROUND_HALF-EVEN);
标签: java initialization field bigdecimal checkstyle