Dieser Artikel untersucht hauptsächlich den verwandten Inhalt von Java -Programmierung Nashorn wie folgt.
Was ist Nashorn
Nashorn, ausgesprochen "Nass-Horn", ist der Name eines Panzers in Deutschland während des Zweiten Weltkriegs. Es ist auch die neue Generation von JavaScript -Engine für Java8 - ersetzt das alte und langsame Nashorn und die Einhaltung der Sprachspezifikationen von ECMAScript -262 Version 5.1. Möglicherweise möchten Sie, dass JavaScript in einem Webbrowser ausgeführt wird und verschiedene DOM -Operationen auf HTML bereitstellt. Nashorn unterstützt jedoch keinen Browser -DOM -Objekte. Dies ist ein Punkt, der Aufmerksamkeit braucht.
Ich habe zufällig ein einfaches Beispiel geschrieben, als ich Java 8 lernte, also werde ich es hier aufzeichnen.
Dateiverzeichnis:
StringFunction.java Quellcode:
public class StringFunction { / ** * String Intercept * / public String sub (String str, int start, int end) {return str.substring (Start, Ende); } / *** String -Spleißen* / public String append (String ... strs) {StringBuilder result = new StringBuilder (strs [0]); Stream.of (strs) .skip (1) .foreach (str -> result.append (str)); Rückgabeergebnis.ToString (); }}StringNashorn.java Quellcode:
public class Stringnashorn { / *** Nashorn Skript Engine* / private scriptengine nashorn = new ScriptenGiememanager (). GetEntinByName ("Nashorn"); / *** script ausführen*/ public Object execute (stringskript) {scriptContext scriptContext = new SimpleScriptContext (); // eine Funktion namens StringFunction definieren, die tatsächlich einem StringFunction -Objekt -Skriptcontext.setAttribute entspricht ("StringFunction", New StringFunction (), 100); nashorn.setContext (scriptContext); Objektergebnis = null; try {result = nashorn.eval (script); } catch (scriptexception e) {e.printstacktrace (); } Rückgabeergebnis; }}Nashorntest.java Quellcode:
public class nashorntest {public static void main (String [] args) {String substring = "StringFunction.sub (/" abcdefghijk/", 1, 4);"; String append = "StringFunction.Append (/" abc/",/" def/"); Stringnashorn nashorn = new StringNashorn (); Objekt subResult = nashorn.execute (substring); Object appendResult = nashorn.execute (append); System.out.println (subResult.toString ()); System.out.println (appendresult.toString ()); }}Führen Sie die Hauptmethode aus, das Ergebnis ist:
BCD
ABCDEF
Hier, wenn Nashorntest.java wie folgt umgeschrieben wird:
public class nashorntest {public static void main (String [] args) {// Verwenden Sie Objekte, um die Ergebnisse im Skript und Druck String substring = "var s1 = stringFunction.sub (/" abcdefghijk/", 1, 4) zu empfangen." + "Druck (S1);"; String append = "var s2 = stringFunction.Append (/" abc/",/" def/");" + "Druck (S2);"; Stringnashorn nashorn = new StringNashorn (); // Ausführen hier gibt das Objekt nicht mehr zurück, da im Skript bereits Objekte vorhanden sind und die Ausführungsergebnisse von Sub und Anhang empfangen. nashorn.execute (substring); nashorn.execute (anhängen); }}Das gleiche Ergebnis wird auch ausgegeben.
Zusammenfassen
Das obige dreht sich alles um den Code des Java -Programmierens Nashorn Instance. Ich hoffe, es wird für alle hilfreich sein. Interessierte Freunde können weiterhin auf andere verwandte Themen auf dieser Website verweisen. Wenn es Mängel gibt, hinterlassen Sie bitte eine Nachricht, um darauf hinzuweisen. Vielen Dank an Freunde für Ihre Unterstützung für diese Seite!