Ich habe eine Klasse, die Strings als Sammlung behandelt. Dies sind zwei Methoden aus der Klasse:
%Vor%Nur die Signatur aus den Methoden ist relevant für meine Frage. Jetzt gibt Eclipse eine Warnung aus, dass die beiden Methoden die gleiche Löschung haben. Aber es erlaubt mir immer noch, sie zu erstellen, und sie funktionieren wie erwartet: Immer wenn ich eine Funktion zur Verfügung stelle, die Zeichen in Zeichen umwandelt, wird ein RichString zurückgegeben, wie ich es wollte.
Meine Frage ist, warum es funktioniert, da zur Laufzeit keine Informationen über die generischen Typen vorhanden sind und die Rückgabe der Methode nicht Teil der Methodensignatur ist? Wie kann die JVM wissen, welche der beiden Methoden aufgerufen werden soll, wenn ich sie anrufe?
Bearbeiten:
Ich denke, nach der Löschung würden die beiden Methoden die folgende Signatur haben:
%Vor%Was würde sie unterscheiden sich nur durch den Rückgabetyp.
Function<Character, Character>
.