import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
public class Main {
public static void main(String[] args) {
int[] data = {4, 5, 3, 6, 2, 5, 1};
// int[] 转 List<Integer>
List<Integer> list1 = Arrays.stream(data).boxed().collect(Collectors.toList());
// Arrays.stream(arr) 可以替换成IntStream.of(arr)
// 1.使用Arrays.stream将int[]转换成IntStream
// 2.使用IntStream中的boxed()装箱,将IntStream转换成Stream<Integer>
// 3.使用Stream的collect(),将Stream<T>转换成List<T>,返回List<Integer>
// int[] 转 Integer[]
Integer[] integers1 = Arrays.stream(data).boxed().toArray(Integer[]::new);
// 1.使用Arrays.stream将int[]转换成IntStream
// 2.使用IntStream中的boxed()装箱,将IntStream转换成Stream<Integer>
// 3.使用Stream的toArray,传入IntFunction<A[]> generator,返回Integer[]
// 不传IntFunction<A[]> generator,默认返回Object[]
// List<Integer> 转 Integer[]
Integer[] integers2 = list1.toArray(new Integer[0]);
// 调用toArray,传入T[] a,返回Integer[]
// List<Integer> 转 int[]
int[] arr1 = list1.stream().mapToInt(Integer::valueOf).toArray();
// 想要转换成int[]类型,先转成IntStream
// 通过mapToInt()把Stream<Integer>调用Integer::valueOf来转成IntStream
// 而IntStream中默认toArray()转成int[]
// Integer[] 转 int[]
int[] arr2 = Arrays.stream(integers1).mapToInt(Integer::valueOf).toArray();
// 先将Integer[]转成Stream<Integer>,再转成IntStream
// Integer[] 转 List<Integer>
List<Integer> list2 = Arrays.asList(integers1);
String[] strings1 = {"a", "b", "c"};
// String[] 转 List<String>
List<String> list3 = Arrays.asList(strings1);
// List<String> 转 String[]
String[] strings2 = list3.toArray(new String[0]);
}
}
还没有评论,来说两句吧...