Wie erstelle ich ein Objekt aus einem String in Java (wie bewerte ich einen String)?

Ich weiß, dass eval "böse" ist, aber ich benutze es so, dass der Benutzer es niemals missbrauchen kann.

Nehmen wir an, ich habe eine Zeichenfolge "new Integer (5)". Ich möchte so etwas tun, dass ich eine Variable, sagen wir foo, auf eine neue Ganzzahl (5) setzen kann. So etwas wie

Integer foo;
String bar = "new Integer(5)"
*magic happens*
System.out.println(foo) -> 5

Ich habe mich umgesehen und es sieht so aus, als hätte ich ein paar Möglichkeiten. Kann die Methode getSystemJavaCompiler () in ToolProvider dies ausführen? Oder sollte ich BeanShell verwenden? Oder gibt es noch etwas anderes? Beachten Sie, dass dies aus einer Zeichenfolge und nicht aus einer Datei stammt.

Antworten auf die Frage(7)

Ihre Antwort auf die Frage