public MyDialogFragment(List<InputStream> inputStreams) {}
public MyDialogFragment(List<String> fileNames) {}
WENN Java so unglaublich typenstarr ist wie jeder behauptet, warum meint es dann, dass List<InputStream> dasselbe sei wie List<String>?
Weil das Ding zu List<T> umgebaut wird und List<T> mit List<T> identisch ist, fein.
Und wie baue ich nun Konstruktoren, die unterschiedliche Typen von Listen aufnehmen können?
public MyDialogFragment(List<InputStream> inputStreams) {}
public MyDialogFragment(Collection<String> fileNames) {}
Unglaublich konsistent und supereinfach zu lesen/verstehen/debuggen – nicht.
Vor Allem wenn da noch mehrere Optionen hinzu kämen... Ich kann ja noch einmal auf ArrayList<URL> spezialisieren, doch was mach ich bei einer Liste von Ressource-IDs (gut, in einen Stream wandeln) oder File oder URI ?
Dafür wäre ein MyDialogFragmentWithNames(List<String>) und ein MyDialogFragmentWithStreams(List<InputStream>) die perfekte Lösung.
Gibbet in Java nur leider nicht. Also was mach ich nu?