我使用以下代码,我添加了对大十进制和编译器显示的支持
大小数new BigDecimal(nextRandom)
的创建对象出错,我该如何克服它?
所有其他类型都按预期工作。
public static SwitchInputType<?> switchInput(final String typeName, final String memberName, final int cnt, boolean random) {
...
} else if (typeName.equals("decimal") || (typeName.equals("java.math.BigDecimal"))) {
BigDecimal nextRandom = RandomizeValues.nextRandom("9");
return new SwitchInputType<BigDecimal>(new BigDecimal(nextRandom));<-HERE IS THE ERROR
} else if (typeName.equals("boolean")) {
boolean randomBoolean = RandomizeValues.nextRandom();
return new SwitchInputType<Boolean>(new Boolean(randomBoolean));
}
错误是:
The constructor BigDecimal(BigDecimal) is undefined
我该如何克服这个?
答案 0 :(得分:6)
您正在创建
new BigDecimal(nextRandom)
其中nextRandom
是BigDecimal
。这是没有意义的。
替换
行return new SwitchInputType<BigDecimal>(new BigDecimal(nextRandom));
与
return new SwitchInputType<BigDecimal>(nextRandom);
并检查是否仍然出现同样的错误。
在看到SwitchInputType