在Java中声明BigDecimal数组的初始值

在Java中声明BigDecimal数组的初始值,java,arrays,bigdecimal,Java,Arrays,Bigdecimal,我想声明一个初始值为0的BigDecimal数组,如下所示: BigDecimal[] val = {0,0,0}; 但它不起作用。请帮助我了解如何使用初始值声明BigDecimalarray BigDecimal[] val = {new BigDecimal(0),new BigDecimal(0),new BigDecimal(0)}; BigDecimal是一个对象,而不是一个基本类型,因此您需要创建该对象的新实例,以便用它们填充数组 这与如果你这样做没有什么不同: BigDecim

我想声明一个初始值为
0
BigDecimal
数组
,如下所示:

BigDecimal[] val = {0,0,0};
但它不起作用。请帮助我了解如何使用初始值声明
BigDecimal
array

BigDecimal[] val = {new BigDecimal(0),new BigDecimal(0),new BigDecimal(0)};
BigDecimal是一个对象,而不是一个基本类型,因此您需要创建该对象的新实例,以便用它们填充数组

这与如果你这样做没有什么不同:

BigDecimal val = 0;  // Fails
BigDecimal val = new BigDecimal(0);  // Succeeds

您可以使用预定义的
BigDecimal.ZERO
常量:

BigDecimal[] val = { BigDecimal.ZERO,
                    BigDecimal.ZERO,
                    BigDecimal.ZERO };
我将使用Arrays.fill(),因为它将用于任何数量的零(或您喜欢的任何其他BigDecimal值)。这是可行的,因为BigDecimal是不可变的,不要对可变值执行此操作;)


您可以使用
数组。用
BigDecimal.ZERO
填充(Object[],Object)
,因为
BigDecimal
是不可变的。因此,不需要为每个数组元素创建新实例

 BigDecimal[] val = new BigDecimal[10]; // 10 for example - chosse the size you want
 Arrays.fill(val, BigDecimal.ZERO);

您可以通过以下方式传递
BigDecimal
值:

BigDecimal amt = null;

amt = new BigDecimal("110000");

实际上,这是最优雅的独处。:)这并没有添加有用的信息,这些信息还没有包含在其他答案中。
BigDecimal amt = null;

amt = new BigDecimal("110000");