just like the title said, in Java, is there any difference between the two statements? 

Usually I can see the two statements both. So I suppose there may be no difference. But could you help to confirm and explain why they are identical? 

```
ArrayList<String> al = new ArrayList<String>(); 
ArrayList<String> al = new ArrayList<>(); 

```

Thanks!