The problem is that type specifiers in generics do not (unless you tell it to) allow subclasses. You have to match exactly.
Try either:
List<List<String>> lss = new ArrayList<List<String>>();
or:
List<? extends List<String>> lss = new ArrayList<ArrayList<String>>();