1. 基础类型相互转换
String 转成 int
//方式1:int a = Integer.parseInt(str);//方式2:int b = Integer.valueOf(str).intValue()
2. 数组相互转换
List 转成 int 数组
list.stream().mapToInt(Integer::intValue).toArray();@Testpublic void test() { List<Integer> list = new ArrayList<>(); list.add(1); list.add(2); list.add(3); //mapToInt()把Stream<Integer>调用Integer::valueOf来转成IntStream,IntStream中默认toArray()转成int[] int[] array = list.stream().mapToInt(Integer::intValue).toArray();}
List 转成 int[] 数组
@Testpublic void test() { List<List<Integer>> list = new ArrayList<>(); list.add(new ArrayList()); list.add(new ArrayList()); list.add(new ArrayList()); //mapToInt()把Stream<Integer>调用Integer::valueOf来转成IntStream,IntStream中默认toArray()转成int[] int[] array = list.toArray(new int[list.size()][]);}
List 转成 Integer数组
list.toArray(newInteger[list.size()])@Testpublic void test() { List<Integer> list = new ArrayList<>(); list.add(1); list.add(2); list.add(3); Integer[] array = list.toArray(new Integer[list.size()]);}
List 转成 String数组
list.stream().toArray(String[]::new) ;@Testpublic void test() { List<String> list = new ArrayList<>(); list.add("1"); list.add("2"); list.add("3"); String[] array = list.stream().toArray(String[]::new) ;}
Integer 数组转成 List
Arrays.asList(T ...a)@Testpublic void test() { Integer[] arr = {12,13,15}; List<Integer> list = Arrays.asList(arr);}
int 数组转成 List
Arrays.stream(数组名).boxed().collect(Collectors.toList())@Testpublic void test() { int[] arr = {12,13,15}; // 1.使用Arrays.stream将int[]转换成IntStream // 2.使用IntStream中的boxed()装箱。将IntStream转换成Stream<Integer> // 3.使用Stream的collect(),将Stream<T>转换成List<T>,因此正是List<Integer> List<Integer> list = Arrays.stream(arr).boxed().collect(Collectors.toList());}
Integer 数组转成 int 数组
Arrays.stream(arr).mapToInt(Integer::valueOf).toArray()
@Test
public void test05() {
Integer[] arr = {12,13,15};
//先将Integer[]转成Stream<Integer>,再转成IntStream
int[] res = Arrays.stream(arr).mapToInt(Integer::valueOf).toArray();
}
int 数组转成 Integer 数组
Arrays.stream(arr).boxed().toArray(Integer[]::new)
@Test
public void test() {
int[] arr = {12,13,15};
//先将int[]装成intStream,然后使用boxed()进行装箱,得到Stream(Integer)
//然后使用Stream的toArray,传入IntFunction<A[]> generator,返回Integer[]
Integer[] res = Arrays.stream(arr).boxed().toArray(Integer[]::new);
}