之前用习惯了python,什么都强转,但是Java不一样,故总结一下。
1.基本类型转String
String s = String.valueOf(int i);
String s = String.valueOf(char c);
String s = String.valueOf(long l);
String s = String.valueOf(boolean b);
String s = String.valueOf(float f);
String s = String.valueOf(double d);
String s = String.valueOf(Object obj);
2.String转基本类型
int i = Integer.parseInt(String s);
float f = Float.parseFloat(String s);
//其它类似
String s = "123";
char c = s.charAt(0);
3.List转数组
//0.初始化方法1
List<Integer> b = new ArrayList<>(){{add(1);add(2);add(3);}};
//0.初始化方法2
List<Integer> b = Arrays.asList(1,2,3); //不能add remove
//1.转换为Object[]
Object[] bb = b.toArray();
//2.转换为指定包装类
Integer[] bb = b.toArray(new Integer[0]);
//3.stream转换为基本类,拆箱
int[] bb = b.stream().mapToInt(i -> i).toArray();
Arrays.stream(bb).forEach(System.out::print);//输出不能用bb.toString()
4.数组转list
Integer[] a = new Integer[]{1,2,3};
//1.[包装类]用List.of()
List<Integer> aa = List.of(a);
//2.[包装类]用Collections.addAll()
List<Integer> aa = new ArrayList<>();
Collections.addAll(aa, a);
//3.[包装类]用Arrays.asList(),返回的是Arrays.ArraysList内部类,不能add remove。
List<Integer> aa = Arrays.asList(a);
List<Integer> aaa = new ArrayList<>(aa); //如果需要add要倒一遍
//4.[基本类]stream,装箱
int[] a = new int[]{1, 2, 3};
List<Integer> aa = Arrays.stream(a).boxed().collect(Collectors.toList());