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()