我想创建一个自定义PMD规则来消除BigDecimal对象的实例化(即新的BigDecimal(value))。我需要强制执行BigDecimal.valueof(value)实现。
我不知道如何实现这一点。我可以使用一些例子吗?
谢谢, Bas Hendriks
答案 0 :(得分:3)
您可以使用IntegerInstantiation的实现作为示例。
但请确保不要禁止使用所有BigDecimal构造函数。只有三个BigDecimal.valueOf
方法,并且使用long作为参数的方法是唯一应该优先于调用构造函数的方法。
采用double的方法无论如何都会调用构造函数,并且不建议使用double值构造BigDecimal。