在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");