Java 创建大十进制对象时出错

Java 创建大十进制对象时出错,java,bigdecimal,Java,Bigdecimal,我使用了以下代码,并添加了对大十进制和编译器显示的支持 为大十进制新建大十进制(nextRandom)创建对象时出错,如何克服 所有其他类型都按预期工作 public static SwitchInputType<?> switchInput(final String typeName, final String memberName, final int cnt, boolean random) { ... } else if (typeName.equals("decimal")

我使用了以下代码,并添加了对大十进制和编译器显示的支持 为大十进制
新建大十进制(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));
}
我应该如何克服这个问题?

您正在创建

new BigDecimal(nextRandom) 
其中
nextRandom
是一个
BigDecimal
。这毫无意义

更换线路

return new SwitchInputType<BigDecimal>(new BigDecimal(nextRandom));
返回新的SwitchInputType(新的BigDecimal(nextRandom));

返回新的SwitchInputType(nextRandom);
并检查是否仍然出现相同的错误

在看到您正在创建的
SwitchInputType

的构造函数之前,我不能说任何其他内容

new BigDecimal(nextRandom) 
其中
nextRandom
是一个
BigDecimal
。这毫无意义

更换线路

return new SwitchInputType<BigDecimal>(new BigDecimal(nextRandom));
返回新的SwitchInputType(新的BigDecimal(nextRandom));

返回新的SwitchInputType(nextRandom);
并检查是否仍然出现相同的错误


在我看到
SwitchInputType

的构造函数之前,我不能说任何其他内容。请将示例代码缩减到演示编译器错误所需的最小值。错误是什么?为什么要从另一个BigDecimal对象创建一个BigDecimal对象?似乎多余请将示例代码缩减到演示编译器错误所需的最小值。错误是什么?为什么要从另一个BigDecimal对象创建BigDecimal对象?似乎多余