Ich habe einige Probleme mit generischen Typen. Ich verstehe nicht, warum in diesem Code alle Anrufe an myTest Punkt an:Generika-Typ. Alle Anrufe gehen zu der gleichen Methode und ich weiß nicht warum
public static <MyData> void myTest(Integer integer)
In einigen Fällen wir die Art zwischen spitzen Klammern angeben:
tr.<Number>myTest(null); OR tr.<String>myTest(null);
Aber ich erwarte, dass Anrufe gehen andere Methoden.
das ist meine Klasse:
public class MyTest {
public static void main(String[] arg){
MyTest tr = new MyTest();
tr.<Number>myTest(null);
tr.<MyTest>myTest(null);
tr.<String>myTest(null);
}
public static <Number> void myTest(Number number){
}
public static <MyData> void myTest(Integer integer){
}
public static void myTest(String string){
}
public static <String> void testClass(String string){
}
}
Vielen Dank im Voraus!
Hmm. Wenn es ambivalent ist, sollte der Code nicht einmal kompilieren. – Thilo
'' erstellt eine Typvariable namens 'Number'. Es bezieht sich nicht mehr auf 'java.lang.Number'. Entfernen Sie einfach die ''. (Ähnlich für andere Methoden). –