如何设置整数[]的ArrayList等于双精度[]的ArrayList

时间:2012-11-27 12:25:02

标签: java

如何设置整数[]的ArrayList等于双精度[]的ArrayList?

我尝试了很多不同的东西,但都没有奏效。我确信这个问题有一个非常简单的答案,但我无法在谷歌上找到它。

我用Java编码

我试过这个

drawablerect =  (ArrayList int[]) rect;

将drawable中的每个数组设置为rect中的每个数组。

drawablerect是int []的ArrayList,rect是double []

的ArrayList

这就是我做的事情

for(int i = 0; i < rect.size(); i++)
       for(int index = 0; index < 7; index++)
                 drawablerect.get(i)[index] = (int) rect.get(i)[index];

2 个答案:

答案 0 :(得分:1)

  1. 创建适当大小的整数
  2. 迭代ArrayList
  3. 将每个值分配给数组

答案 1 :(得分:0)

一种可能的解决方案:

// Beware of precision loss (0.99999 --> 0)
public static List<int[]> toListIntArray(List<double[]> input) {
    List<int[]> output = new ArrayList<>(input.size());
    for (double[] in : input) {
        int[] ints = new int[in.length];
        for (int i = 0; i < in.length; i++) {
            ints[i] = (int) in[i];
        }
        output.add(ints);
    }
    return output;
}

你可以像这样使用它:

drawablerect = toListIntArray(rect);