-3

integers[] の ArrayList を doubles[] の ArrayList に等しく設定するにはどうすればよいですか?

私はさまざまなことを試しましたが、どれもうまくいきませんでした。この問題には本当に簡単な答えがあると確信していますが、グーグルで見つけることができませんでした。

私はJavaでコーディングしています

私はこれを試しました

drawablerect =  (ArrayList int[]) rect;

そして、drawables の各配列を 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];
4

2 に答える 2

1
  1. 適切なサイズの整数を作成します
  2. ArrayList を反復処理する
  3. 各値を配列に割り当てます
于 2012-11-27T12:27:33.567 に答える
0

考えられる解決策の 1 つ:

// 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);
于 2012-11-27T12:44:30.963 に答える