我想声明BigDecimal
Array
初始值0
,如下所示:
BigDecimal[] val = {0,0,0};
但它不起作用。请帮助我了解如何使用初始值声明BigDecimal
array
。
答案 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");