ArrayList<StringBuilder> al = new ArrayList<>(
                              Arrays.asList(new StringBuilder[]{
                                  new StringBuilder("Oracle"), 
                                  new StringBuilder("Java"), 
                                  new StringBuilder("Sun"), 
                                  new StringBuilder("DataBase")}));
StringBuilder[] al2array = (StringBuilder[]) al.toArray();
If al.toArray() returns an Object[] which i know that its actually a StringBuilder[], then why cannot i cast it?
 
     
     
     
     
     
    