在Java中声明BigDecimal Array的初始值

时间:2013-12-19 14:00:35

标签: java arrays bigdecimal

我想声明BigDecimal Array初始值0,如下所示:

BigDecimal[] val = {0,0,0};

但它不起作用。请帮助我了解如何使用初始值声明BigDecimal array

5 个答案:

答案 0 :(得分:20)

我会使用Arrays.fill(),因为它可以用于任意数量的零(或任何其他你喜欢的BigDecimal值)这是有效的,因为BigDecimal是不可变的,不要为可变值执行此操作;)

BigDecimal[] val = new BigDecimal[N];
Arrays.fill(val, BigDecimal.ZERO);

答案 1 :(得分:5)

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

BigDecimal[] val = { BigDecimal.ZERO,
                    BigDecimal.ZERO,
                    BigDecimal.ZERO };

答案 2 :(得分:1)

BigDecimal[] val = {new BigDecimal(0),new BigDecimal(0),new BigDecimal(0)};

BigDecimal是一个对象,而不是一个基本类型,因此您需要创建该对象的新实例,以便用它们填充数组。

如果你这样做,那就没有什么不同了:

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

答案 3 :(得分:0)

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

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

答案 4 :(得分:0)

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

BigDecimal amt = null;

amt = new BigDecimal("110000");