Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将整数数组强制转换为长整数_Java_Arrays_Casting_Integer - Fatal编程技术网

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();