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();
@Test
public 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[] 数组
@Test
public 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()])
@Test
public 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) ;
@Test
public 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)
@Test
public void test() {
Integer[] arr = {12,13,15};
List<Integer> list = Arrays.asList(arr);
}
int 数组转成 List
Arrays.stream(数组名).boxed().collect(Collectors.toList())
@Test
public 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);
}