2
Gist of my full code, 31 lines如何在数组内的每个对象上调用方法?
我想转换双打 - > BigDecimal然后调用存储在数组内的每个BigDecimal对象的setScale方法。
// convert double variables to BigDecimal inside of new BigDecimal array
BigDecimal[] ret = new BigDecimal[]{
new BigDecimal(area),
new BigDecimal(theta),
new BigDecimal(x),
new BigDecimal(y)
};
// setScale on each object
for (BigDecimal val: ret) {
val.setScale(2, RoundingMode.FLOOR);
}
但是,当我打印出来,很明显的setScale函数没有叫上任何物体,当我以后再打印出每一个。
数组中的对象没有被突变或保存在2nd for循环中吗?
更新&调整与答案,咨询:
基于气垫船的回答我改写了我的代码最后一位在这里:
double[] vals = new double[]{area, theta, x, y};
BigDecimal[] ret = new BigDecimal[vals.length];
for (int i = 0; i < vals.length; i++) {
ret[i] = new BigDecimal(vals[i]).setScale(2, RoundingMode.FLOOR);
}
这不正是我想要的。