将整数数组转换为长整数

时间:2017-05-05 03:35:10

标签: java arrays casting integer

我试图将整数数组强制转换为长数组,但我不知道如何去做这个。

到目前为止,我的代码看起来像这样:

import java.util.Random;

public class main {

public static int[] sect(){
    int[] returned = new int[4];
    Random rand = new Random();
    returned[0] = 4;
    returned[1] = rand.nextInt(8) + 1;
    returned[2] = rand.nextInt(7) + 1;
    returned[3] = rand.nextInt(6) + 1;

    return returned;
}

public static String num(){
    for (int j = 0; j < 4; j++) {
        int[] ints = sect();
        for(int i =0; i < ints.length; i++) {
            System.out.print(ints[i]);
        }
    }
    return null;
}
}

我尝试过这样的事情:

return ((long)num());

但这永远不会奏效。有谁知道我会怎么做呢?

2 个答案:

答案 0 :(得分:1)

您使用的是Java 8,如果是这样,这将起作用:

int[] arrayOfIntegers = {1, 2, 3, 4, 5, 6};

long[] arrayOfLongs = Arrays.stream(arrayOfIntegers).mapToLong(i -> i).toArray();

答案 1 :(得分:0)

你做不到。

您只需创建一个大小相等的数组,并将int值复制到该数组中。不幸的是,System.arraycopy()无法为您做到这一点......所以你无法避免手动复制。

因为int数组不是long数组。因此,从单个int到单个long中没有这样的强制转换。