1、字符串转数组
// 字符串转数组 java.lang.String
String str = "0,1,2,3,4,5";
String[] arr = str.split(","); // 用,分割
System.out.println(Arrays.toString(arr)); // [0, 1, 2, 3, 4, 5]
注意: . 、 | 和 * 等转义字符,必须得加 \。多个分隔符,可以用 | 作为连字符。
2、数组转字符串
方法一:遍历
String[] arr = { "0", "1", "2", "3", "4", "5" };
// 遍历
StringBuffer str5 = new StringBuffer();
for (String s : arr) {
str5.append(s);
}
System.out.println(str5.toString()); // 012345
方法二:使用StringUtils的join方法
//数组转字符串 org.apache.commons.lang3.StringUtils
String str3 = StringUtils.join(arr); // 数组转字符串,其实使用的也是遍历
System.out.println(str3); // 012345
String str4 = StringUtils.join(arr, ","); // 数组转字符串(逗号分隔)(推荐)
System.out.println(str4); // 0,1,2,3,4,5
方法三:使用ArrayUtils的toString方法
// 数组转字符串 org.apache.commons.lang3.ArrayUtils
String str2 = ArrayUtils.toString(arr, ","); // 数组转字符串(逗号分隔,首尾加大括号)
System.out.println(str2); // 0,1,2,3,4,5
3、ArrayList转数组
方法一:使用for循环
//要转换的list集合
List testList = new ArrayList(){{add(“aa”);add(“bb”);add(“cc”);}};
//初始化需要得到的数组
String[] array = new String[testList.size()];
//使用for循环得到数组
for(int i = 0; i < testList.size();i++){
array[i] = testList.get(i);
}
//打印数组
for(int i = 0; i < array.length; i++){
System.out.println(array[i]);
}
方法二:使用toArray()方法
//要转换的list集合
List<String> testList = new ArrayList<String>(){{add("aa");add("bb");add("cc");}};
//使用toArray(T[] a)方法
String[] array2 = testList.toArray(new String[testList.size()]);
//打印该数组
for(int i = 0; i < array2.length; i++){
System.out.println(array2[i]);
}
4、数组转ArrayList
方法一:使用for循环
//需要转换的数组
String[] arrays = new String[]{"aa","bb","cc"};
//初始化list
List<String> list = new ArrayList<String>();
//使用for循环转换为list
for(String str : arrays){
list.add(str);
}
//打印得到的list
System.out.println(list);
方法二:使用asList()
ArrayList<String> arrayList = new ArrayList<String>(Arrays.asList(arrays));
方法三:使用asList()
List<String> list = Arrays.asList(arrays);
注意:同方法二一样使用了asList()方法。这不是最好的,因为asList()返回的列表的大小是固定的。事实上,返回的列表不是java.util.ArrayList,而是定义在java.util.Arrays中一个私有静态类。我们知道ArrayList的实现本质上是一个数组,而asList()返回的列表是由原始数组支持的固定大小的列表。这种情况下,如果添加或删除列表中的元素,程序会抛出异常UnsupportedOperationException。推荐使用方法二
方法四:使用Collections.addAll()
List<String> list2 = new ArrayList<String>(arrays.length);
Collections.addAll(list2, arrays);
5、字符串转ArrayList
//用逗号分隔的字符串
String a = "1,2,3,4,5";
StringJoiner stringJoiner = new StringJoiner(",");
stringJoiner.add(a);
List<String> actualAccounts = Arrays.asList(stringJoiner.toString().split(","));
6、ArrayList转字符串
List testList = new ArrayList(){{add(“aa”);add(“bb”);add(“cc”);}};
//用逗号分隔的字符串
String a = Joiner.on(",").join(testList).trim()