前言

一般对于基本数据类型转为 String 我们直接使用运算符加号的重载来解决,对于包装类型转 String 一般我们使用String.valueOf()或者toString()方法来解决,建议用 valueOf 因为空的话不会异常。对于其他类型比如要转成 int 类型除了可以使用 valueOf 也可以使用 parseInt,valueOf 实际返回的是一个包装类型,而 parseInt 返回的是基本数据类型

总的来说如果要转成什么类型,对于基本数据类型(int)建议使用Integer.parseInt(),对于包装类型(Integer)建议使用Integer.valueOf()

数组转字符串
// 对于整型数组
int[] arr = new int[] {1, 2, 3};
String str = Arrays.toString(arr);

// 对于字符数组
char[] arr = new char[] {'1', '2', '3'};
String str = String.valueOf(arr);
数组转集合类
// asList 返回的这个 list 是 Arrays 中的一个内部类,不可更改
int[] arr = new int[] {1, 2, 3};
List list = Arrays.asList(arr);
字符串转数组
// 对于字符数组
String str = "123";
char[] arr = str.toCharArray();
字符串转集合类

可以分两步,先转成数组,然后数组转成集合

集合类转数组
// 可以使用 toArray 返回 Object 数组,对于 String 适用,不适用 int,因为 Integer[] 和 int[] 还是有区别的,整型的话建议用遍历来实现
List<String> list = new ArrayList<>();
list.add("1");
list.add("2");
list.add("3");
String[] str = list.toArray(new String[list.size()]);
集合类转字符串
// 集合转字符串,join 第二个参数表示集合中不同元素之间用什么分隔来构成字符串
List<String> list = new ArrayList<>();
list.add("1");
list.add("2");
list.add("3");
String str = StringUtils.join(list, "");
String 与 StringBuilder 相互转化
// String 转 StringBuilder
String str = "123";
StringBuilder sb = new StringBuilder(str);

// StringBuilder 转 String
StringBuilder sb = new StringBuilder("123");
String str = sb.toString();
String 与 int 相互转化
// 数字类型字符串转整型
String str = "123";
int num = Integer.parseInt(str);

// 数字类型字符串转整型
String str = "123";
int num = Integer.valueOf(str);

// 整型转字符串直接使用加号的重载
int num = 123;
String str = "" + 123;