Nein, nicht zu kurz, um die spezifischere Überladung zu löschen oder zu verbergen. Wenn sie sich jedoch anders verhalten, sollten sie einfach andere Namen haben. Und wenn sie sich gleich verhalten, sollte das egal sein.
Mit generischen Methoden können Typparameter verwendet werden, um Abhängigkeiten zwischen den Typen eines oder mehrerer Argumente für eine Methode und / oder deren Rückgabetyp auszudrücken. Wenn es keine solche Abhängigkeit gibt, sollte eine generische Methode nicht verwendet werden.
(aus hier )
Gibt es eine Möglichkeit, Java zu zwingen, die generische Version zu verwenden?
Nicht ohne Entfernen, Umbenennen oder anderes Ändern der Signatur der zweiten Methode. (Wenn Sie wirklich hacky werden wollen - tun Sie das nicht - benutzen Sie reflection, um die Methode aufzurufen.) Das liegt daran, dass Javas Overload-Resolution-Verfahren versucht Wählen Sie die spezifischste Methode aus.
15.12.2.5. Die spezifischste Methode auswählen
Wenn mehrere Methoden gleichzeitig verfügbar und auf einen Methodenaufruf anwendbar sind, müssen Sie einen auswählen, um den Deskriptor für den Laufzeitmethodenversand bereitzustellen. Die Java-Programmiersprache verwendet die Regel, dass die spezifischste Methode gewählt wird.
Die informelle Intuition ist, dass eine Methode spezifischer ist als eine andere, wenn jeder Aufruf, der von der ersten Methode behandelt wird, ohne einen Kompilierzeitfehler an die andere weitergegeben werden kann.
Tags und Links java generics overloading