Use this built-in method:-
List<String> items = Arrays.asList(str.split("\\s*,\\s*"));
The above code breaks the string on a delimiter fixed as zero or more whitespace, a written comma, zero or added whitespace which will put the words into the list and drop any whitespace between the words and commas.
P.S- This will simply pass a wrapper on an array: you can't, for example, .remove() from the resulting list. For a concrete ArrayList, you must further use a new ArrayList<String>.