java中的一个小问题

public  static void sort1(String  a){
            ArrayList<Character> bb=new ArrayList<>();
            Character[] cc= a.toCharArray();//这里会报错。。
            bb.addAll(cc);
            }

就是把一串字符串先转化为数组。就是Character有没有类似char能接受a.toCharArray()的方法。
我想实现的是首先把字符串转化为数组,然后储存到集合中,然后在控制台打印集合
能得出我最开始的输入的字符数组。。而不是只在控制台打印数组的地址符。

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        String a ="abcde";
        char[] c = a.toCharArray();
         ArrayList<Character> bb=new ArrayList<>();
         for(int i =0;i<c.length;i++){
             bb.add(c[i]);
         }
         for (Character character : bb) {
            System.out.println(character);
        }
    }

一.报错是因为toCharArray()返回的是char[]类型.

二.

 char[] cc = a.toCharArray();// 这里会报错。。
        System.out.println(cc);

分明有一个方法为什么要自己写
String Arrays.toString(char [] )