Was anstelle von Class.newInstance () verwenden?


Antworten:


98

So zitieren Sie das Javadoc von Java 9 :

Der Anruf

clazz.newInstance()

kann ersetzt werden durch

clazz.getDeclaredConstructor().newInstance()


3
Was ist mit Java 8?. Ich kann die Methode getDeclaredConstructor () ohne Parameter dort nicht finden.
Yurii Kozachok

1
@YuriiKozachok Sie können verwenden getConstrouctor, beachten Sie jedoch, dass nur öffentliche Konstruktoren zurückgegeben werden. Beachten Sie auch, dass newInstancedies in Java 8 nicht veraltet ist (obwohl die Verwendung immer noch alle Probleme aufweist, die die JDK-Entwickler dazu veranlasst haben, es in 9 zu
verwerfen

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.