1. Erklärung
Es gibt zwei Gründe, warum new T() nicht in generischem Code verwendet werden kann. Zum einen kann der Typ aufgrund des Löschens nicht bestimmt werden .
Wir erstellen Instanzobjekte über Factory-Muster + generische Methoden, erstellen IntegerFactory-Factorys und erstellen Integer-Instanzen. Wenn sich der Code später ändert, können wir neue Factory-Typen hinzufügen.
2. Beispiel
/** * 使用工厂方法来创建实例 * * @param <T> */ interface Factory<T>{ T create(); } class Creater<T>{ T instance; public <F extends Factory<T>> T newInstance(F f) { instance=f.create(); return instance; } } class IntegerFactory implements Factory<Integer>{ @Override public Integer create() { Integer integer=new Integer(9); return integer; } }
Das obige ist der detaillierte Inhalt vonSo definieren Sie Datentypen in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!