So funktioniert zwar folgendes Beispiel:
private void f(List<String> l) {
// TODO
}
List<String> l = Collections.emptyList();
f(l);
Wird die leere Liste aber direkt verwendet, schlägt die Typ-Inferenz mit der Fehlermeldung "The method f is not applicable for the arguments List<Object>" fehl:
f(Collections.emptyList());Die Lösung ist, hier einen Type-Witness einzusetzen:
f(Collections.<String>emptyList());