我试图将整数数组强制转换为长数组,但我不知道如何去做这个。
到目前为止,我的代码看起来像这样:
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());
但这永远不会奏效。有谁知道我会怎么做呢?
答案 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中没有这样的强制转换。