I know that when I initialize a char array:
I have to 

```
char[] b= new char[5];

```

or 

```
char[] b= new char[5]({1,2,3,4,5});

```

why not like 

```
ArrayList<Charset> list = new ArrayList<Charset>(); 

```

initialize array :

```
char[] b = new char[5](); ?

```

Why they are different? Is it one of java philosophical nature or some reasons behind it ?