java把int数组转为long
在Java编程中,有时候我们需要将一个int类型的数组转换为long类型。虽然Java是一种强类型语言,不支持隐式类型转换,但是我们可以通过一些方法来实现这种类型转换。
方法一:使用循环逐个转换
最简单直接的方法就是通过循环遍历int数组,依次将每个元素转换为long类型,然后放到一个新的long数组中。下面是示例代码:
public class IntArrayToLong {
public static void main(String[] args) {
int[] intArray = {1, 2, 3, 4, 5};
long[] longArray = new long[intArray.length];
for (int i = 0; i < intArray.length; i++) {
longArray[i] = intArray[i];
}
System.out.println("int数组转为long数组结果为:");
for (long num : longArray) {
System.out.println(num);
}
}
}
运行结果如下:
int数组转为long数组结果为:
1
2
3
4
5
方法二:使用Java 8的Stream
在Java 8中,我们可以使用Stream来进行集合的操作,通过Stream提供的map方法,我们可以将int数组通过lambda表达式转换为long数组。下面是示例代码:
import java.util.Arrays;
public class IntArrayToLong {
public static void main(String[] args) {
int[] intArray = {1, 2, 3, 4, 5};
long[] longArray = Arrays.stream(intArray).mapToLong(i -> i).toArray();
System.out.println("int数组转为long数组结果为:");
for (long num : longArray) {
System.out.println(num);
}
}
}
运行结果同样如下:
int数组转为long数组结果为:
1
2
3
4
5
方法三:使用ByteBuffer
在Java中,可以使用ByteBuffer来进行类型转换。通过将int数组写入ByteBuffer,然后通过getLong()方法获取long数组。下面是示例代码:
import java.nio.ByteBuffer;
public class IntArrayToLong {
public static void main(String[] args) {
int[] intArray = {1, 2, 3, 4, 5};
ByteBuffer byteBuffer = ByteBuffer.allocate(8 * intArray.length);
for (int num : intArray) {
byteBuffer.putInt(num);
}
byteBuffer.flip();
long[] longArray = new long[intArray.length];
for (int i = 0; i < intArray.length; i++) {
longArray[i] = byteBuffer.getLong();
}
System.out.println("int数组转为long数组结果为:");
for (long num : longArray) {
System.out.println(num);
}
}
}
运行结果同样如下:
int数组转为long数组结果为:
1
2
3
4
5
通过以上几种方法,我们可以将int数组转为long类型的数组。根据具体的业务需求和情况选择合适的方法进行类型转换。