# Java 各种数组类型的转换
# 一、基本类型数组与包装类型数组的互转
# 1.1 基本类型数组转包装类型数组
代码示例:int[] -> Integer[]
import java.util.Arrays;
/**
* int 型数组转 Integer 包装类型数组
*
* @author yunhu
* @date 2022/7/4
*/
public class Test {
public static void main(String[] args) {
int[] array = new int[]{1,2,3,4,5,6};
Integer[] arrayInteger = Arrays.stream(array).boxed().toArray(Integer[]::new);
System.out.println(Arrays.toString(arrayInteger)); // output: [1, 2, 3, 4, 5, 6]
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 1.2 包装类型数组转基本类型数组
代码示例:Integer[] -> int[]
import java.util.Arrays;
/**
* Integer 包装类型数组转 int 型数组
*
* @author yunhu
* @date 2022/7/4
*/
public class Test {
public static void main(String[] args) {
Integer[] arrayInteger = new Integer[]{6, 5, 4, 3, 2, 1};
int[] array = Arrays.stream(arrayInteger).mapToInt(Integer::valueOf).toArray();
System.out.println(Arrays.toString(array)); // output: [6, 5, 4, 3, 2, 1]
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 二、基本类型数组与 List 接口互转
# 2.1 基本类型数组转 List 接口
代码示例:int[] -> List<Integer>
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
/**
* int 型数组转 List 接口
*
* @author yunhu
* @date 2022/7/4
*/
public class Test {
public static void main(String[] args) {
int []array = new int[]{1,2,3,4,5,6};
List<Integer> list = Arrays.stream(array).boxed().collect(Collectors.toList());
System.out.println(list); // output: [1, 2, 3, 4, 5, 6]
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# 2.2 List 接口转基本类型数组
代码示例:List<Integer> -> int[]
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
/**
* List 接口转 int 型数组
*
* @author yunhu
* @date 2022/7/4
*/
public class Test {
public static void main(String[] args) {
List<Integer> list = new ArrayList<>();
list.add(1);
list.add(2);
list.add(3);
list.add(4);
list.add(5);
int[] array = list.stream().mapToInt(Integer::intValue).toArray();
System.out.println(Arrays.toString(array)); // output: [1, 2, 3, 4, 5]
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# 三、包装类型数组与 List 接口互转
# 3.1 包装类型数组转 List 接口
代码示例:Integer[] -> List<Integer>
import java.util.Arrays;
import java.util.List;
/**
* 整型包装类型转 List 接口
*
* @author yunhu
* @date 2022/7/4
*/
public class Test {
public static void main(String[] args) {
Integer[] arrayInteger = new Integer[]{6, 5, 4, 3, 2, 1};
List<Integer> list = Arrays.asList(arrayInteger);
// output: [6, 5, 4, 3, 2, 1]
System.out.println(list);
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# 3.2 List 接口转包装类型数组
代码示例:List<Integer> -> Integer[]
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
/**
* List 接口转整型包装类型
*
* @author yunhu
* @date 2022/7/4
*/
public class Test {
public static void main(String[] args) {
List<Integer> list = new ArrayList<>();
list.add(1);
list.add(2);
list.add(6);
list.add(4);
list.add(5);
Integer[] integerArray = list.toArray(new Integer[list.size()]);
// output: [1, 2, 6, 4, 5]
System.out.println(Arrays.toString(integerArray));
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24