Java 将整数数组强制转换为长整数
我试图将一个整数数组类型转换为一个长数组,但我不太知道如何执行此操作 到目前为止,我的代码如下所示:Java 将整数数组强制转换为长整数,java,arrays,casting,integer,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;
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;
}
}
但这永远不会奏效。有人知道我会怎么做吗?你不能那样做
您只需创建一个大小相等的数组,并将int值复制到该数组中。不幸的是System.arraycopy()无法为您执行此操作。。。所以在这里你不能避免手工复制
因为int数组不是long数组。因此,不存在从单个int转换为单个long的情况 您是否正在使用Java 8,如果是这样,这将起作用:
int[] arrayOfIntegers = {1, 2, 3, 4, 5, 6};
long[] arrayOfLongs = Arrays.stream(arrayOfIntegers).mapToLong(i -> i).toArray();
不能将一个基元数组强制转换为一个基元。要将
int
s转换为long
,您希望对其执行哪些操作?如果需要一个long数组,请定义一个…最好使用Main
而不是Main
作为类名。方法num()
返回一个字符串
-您不能将字符串
强制转换为长字符串
@Jason它实际上不返回任何内容。@GhostCat我认为您不能将System.arraycopy()
用于不同的数组类型。
int[] arrayOfIntegers = {1, 2, 3, 4, 5, 6};
long[] arrayOfLongs = Arrays.stream(arrayOfIntegers).mapToLong(i -> i).toArray();