目录
1、int类型与String类型之间的转换
1.1 int 转 String
// int 转 String
int i = 123;
String s1 = "";
s1 = String.valueOf(i);
s1 = Integer.toString(i);
s1 = "" + i;
//PS: Double, Float, Long 转成字符串(String)的方法大同小异.
1.2 String 转 int
// String 转 int
String s2 = "123";
int i1;
i1 = Integer.parseInt(s2);
i1 = Integer.valueOf(s2).intValue();
//PS: 字符串(String)转成 Double, Float, Long 的方法大同小异.
2、数组与String类型之间 的转换
2.1 数组 转 String
//数组 转 String类型
String[] arr1 = { "0", "1", "2", "3", "4", "5" };
// 方法一: 遍历
StringBuffer str5 = new StringBuffer();
for (String s : arr1) {
str5.append(s);
}
System.out.println(str5.toString()); // 012345
// 方法二: 使用StringUtils的join方法
//数组转字符串 PS:org.apache.commons.lang3.StringUtils (不要导错包啦!)
String str3 = StringUtils.join(arr1); // 数组转字符串,其实使用的也是遍历
System.out.println(str3); // 012345
String str4 = StringUtils.join(arr1, ","); // 数组转字符串(逗号分隔)(推荐)
System.out.println(str4); // 0,1,2,3,4,5
// 方法三: 使用ArrayUtils的toString方法
// 数组转字符串 org.apache.commons.lang3.ArrayUtils
String str2 = ArrayUtils.toString(arr1, ","); // 数组转字符串(逗号分隔,首尾加大括号)
System.out.println(str2); // {0,1,2,3,4,5}
2.2 String 转 数组
//String转数组
String str_int = "1,2,3,4";
String str_str = "zhao,qian,sun,li";
String[] split = str_int.split(",");
//再将String[]转为Integer[](不能是int,不然很多函数容易出问题!)
Integer[] ints1 = new Integer[split.length];
for (int i = 0; i < ints1.length; i++) {
ints1[i] = Integer.parseInt(split[i]);
}
//PS:请注意,Arrays.asList(T[])传入的数组中的元素只能是类对象,不能是基础数据类型!
System.out.println(Arrays.asList(ints1)); //[1, 2, 3, 4]
List<String> list = Arrays.asList(str_str.split(","));
System.out.println(list); // [zhao, qian, sun, li]
3、集合与String类型之间的转换
3.1 集合 转 String
//ArrayList 转 String
ArrayList list_int = new ArrayList<Integer>(); //Integer的List
list_int.add(1);
list_int.add(2);
list_int.add(3);
list_int.add(4);
ArrayList<String> list_str = new ArrayList<String>(); //String的List
list_str.add("zhaoqian");
list_str.add("sunli");
String toString = list_int.toString(); //ArrayList转换为String,带中括号的
String substring = toString.substring(1, toString.length() - 1);//去除中括号。小心java的 substring是左闭右开的
String result = substring.replaceAll("\\s", "");//去除所有的空字符
System.out.println(result); // 1,2,3,4
String str = String.join(",", list_str);//将list_str中的元素使用逗号连接
System.out.println(str);//zhaoqian,sunli
3.2 String 转 集合
// String 转 ArrayList
// 先转为数组,在转为List
ArrayList arrayList = new ArrayList(Arrays.asList(str_int.split(",")));
System.out.println(arrayList); // [1, 2, 3, 4]
4、数组与集合之间的转换
4.1 数组 转 集合
// 数组 转 集合
Integer[] arr_int = {1,2,3,4};
String[] arr_str = {"zhaoqian","sunli"};
ArrayList list1 = new ArrayList(Arrays.asList(arr_int));
System.out.println(list1); // [1, 2, 3, 4]
ArrayList list2 = new ArrayList(Arrays.asList(arr_str));
System.out.println(list2); // [zhaoqian, sunli]
// int数组 转 列表
int[] intArr = {1, 2, 3};
List<Integer> intList1 = Arrays.stream(intArr).boxed().collect(Collectors.toList());
System.out.println(intList1); // [1, 2, 3]
//long数组 to 列表
long[] longArr = {1L, 2L, 3L};
List<Long> longList1 = Arrays.stream(longArr).boxed().collect(Collectors.toList());
System.out.println(longList1); // [1, 2, 3]
//double数组 to 列表
double[] doubleArr1 = {1d, 2d, 3d};
List<Double> doubleList1 = Arrays.stream(doubleArr1).boxed().collect(Collectors.toList());
System.out.println(doubleList1); // [1.0, 2.0, 3.0]
//String数组 to 列表
String[] arr3 = "1,2,3".split(",");
// list 不可编辑
List<String> list3 = Arrays.asList(arr3);
System.out.println(list3); // [1, 2, 3]
// arrayList 不可编辑
ArrayList<String> arrayList1 = new ArrayList<String>(list3);
System.out.println(arrayList1); // [1, 2, 3]
//字符串 切成 数组
String[] arr = "1,2,3".split(",");
//Java8 Stream方式:字符串数组 to (Integer、Long、Double)列表
List<Integer> intList = Arrays.stream(arr).map(Integer::valueOf).collect(toList());
System.out.println(intList); // [1, 2, 3]
List<Long> longList = Arrays.stream(arr).map(Long::valueOf).collect(toList());
System.out.println(longList); // [1, 2, 3]
List<Double> doubleList = Arrays.stream(arr).map(Double::valueOf).collect(toList());
System.out.println(doubleList); // [1.0, 2.0, 3.0]
4.2 集合 转 数组
// 集合 转 数组
Integer[] integers = new ArrayList<Integer>(list1).toArray(new Integer[0]);
System.out.println(Arrays.toString(integers)); // [1, 2, 3, 4]
Object[] objects = new ArrayList<String>(list2).toArray();
System.out.println(Arrays.toString(objects)); // [zhaoqian, sunli]