This list summarizes the top 10 mistakes that Java developers frequently make.
Convert Array to ArrayList
To convert an array to an ArrayList
, developers often do this:
List<String> list = Arrays.asList(arr); |
Arrays.asList()
will return an ArrayList
which is a private static class inside Arrays
, it is not the java.util.ArrayList
class. The java.util.Arrays.ArrayList
class has set()
,get()
, contains()
methods, but does not have any methods for adding elements, so its size is fixed. To create a real ArrayList
, you should do:
ArrayList<String> arrayList = new ArrayList<String>(Arrays.asList(arr)); |
The constructor of ArrayList
can accept a Collection type, which is also a super type forjava.util.Arrays.ArrayList
.