亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > Java > 正文

Java編程Nashorn實例代碼

2024-07-13 10:17:20
字體:
來源:轉載
供稿:網友

本文研究的主要是Java編程Nashorn的相關內容,具體如下。

Nashorn是什么

Nashorn,發音“nass-horn”,是德國二戰時一個坦克的命名,同時也是java/250230.html">java8新一代的javascript引擎--替代老舊,緩慢的Rhino,符合 ECMAScript-262 5.1 版語言規范。你可能想javascript是運行在web瀏覽器,提供對html各種dom操作,但是Nashorn不支持瀏覽器DOM的對象。這個需要注意的一個點。

之前學習Java8的時候恰好寫了個簡單的例子,所以放在這里記錄一下。

文件目錄:

  • StringFunction.java,字符串功能類
  • StringNashorn.java,封裝腳本引擎
  • NashornTest.java,測試引擎,引擎調用

StringFunction.java源碼:

public class StringFunction {      /**    * 字符串截取    */   public String sub(String str, int start, int end) {     return str.substring(start, end);   }      /**    * 字符串拼接    */   public String append(String... strs) {     StringBuilder result = new StringBuilder(strs[0]);     Stream.of(strs).skip(1).forEach(str -> result.append(str));     return result.toString();   } } 

StringNashorn.java源碼:

public class StringNashorn {      /**    * Nashorn腳本引擎    */   private ScriptEngine nashorn = new ScriptEngineManager().getEngineByName("nashorn");      /**    * 執行腳本    */   public Object execute(String script) {     ScriptContext scriptContext = new SimpleScriptContext();     // 定義一個名為stringfunction的函數,這個函數實際對應著一個StringFunction對象     scriptContext.setAttribute("stringfunction", new StringFunction(), 100);     nashorn.setContext(scriptContext);          Object result = null;     try {       result = nashorn.eval(script);     } catch (ScriptException e) {       e.printStackTrace();     }          return result;   } } 

NashornTest.java源碼:

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();     Object subResult = nashorn.execute(substring);     Object appendResult = nashorn.execute(append);     System.out.println(subResult.toString());     System.out.println(appendResult.toString());   } } 

運行main方法,運行結果:

bcd
abcdef

這里如果NashornTest.java改寫如下:

public class NashornTest {      public static void main(String[] args) {     // 腳本內用對象接收結果并打印     String substring = "var s1 = stringfunction.sub(/"abcdefghijk/", 1, 4);"         + " print(s1);";     String append = "var s2 = stringfunction.append(/"abc/", /"def/");"         + " print(s2);";          StringNashorn nashorn = new StringNashorn();     // 這里execute不再返回對象,因為在腳本里面已經有對象接收sub和append的執行結果。     nashorn.execute(substring);     nashorn.execute(append);   } } 

同樣也會輸出相同的結果。

總結

以上就是本文關于Java編程Nashorn實例代碼的全部內容,希望對大家有所幫助。感興趣的朋友可以繼續參閱本站其他相關專題,如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!


注:相關教程知識閱讀請移步到JAVA教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲人成绝费网站色www| 精品久久久久久国产91| 欧美激情第6页| 懂色aⅴ精品一区二区三区蜜月| 一区二区三区四区精品| 亚洲成人999| 国产精品美女无圣光视频| 日韩av在线直播| 久久99亚洲精品| 久久久久久久香蕉网| 国产一区二区黄| 欧美亚洲激情在线| 亚洲欧美自拍一区| 欧美国产日韩精品| 日韩精品免费在线观看| 中文字幕亚洲欧美一区二区三区| 国产日本欧美一区二区三区| 国产精品久在线观看| 亚洲人成免费电影| 中国日韩欧美久久久久久久久| 91精品在线播放| 欧美日韩加勒比精品一区| 久热精品视频在线| 91在线视频九色| 亚洲新声在线观看| 亚洲精品影视在线观看| 久久夜精品va视频免费观看| 欧洲中文字幕国产精品| 久久天天躁夜夜躁狠狠躁2022| 国产精品∨欧美精品v日韩精品| 97精品视频在线播放| 91久久中文字幕| 久久精品男人天堂| 国产z一区二区三区| 2019av中文字幕| 亚洲人成网站在线播| 欧美夫妻性生活视频| 午夜精品久久久久久久久久久久久| 在线精品视频视频中文字幕| 亚洲精品色婷婷福利天堂| 1769国产精品| 欧美亚洲另类视频| 国产日韩在线免费| 欧美高清一级大片| 亚洲a成v人在线观看| 啊v视频在线一区二区三区| 亚洲精品免费av| 精品成人av一区| 欧美激情精品在线| 97视频在线观看免费高清完整版在线观看| 国产精品中文久久久久久久| 国产精品极品美女粉嫩高清在线| 97av在线视频免费播放| 国产精品xxx视频| 最近2019年手机中文字幕| 91久久精品国产91性色| 最新亚洲国产精品| 欧美综合激情网| 日韩成人在线视频观看| 久久久91精品| 国产精品视频自拍| 国产亚洲欧洲高清一区| 日韩欧美在线观看视频| 久久久精品电影| 88国产精品欧美一区二区三区| 国产成人小视频在线观看| 成人亲热视频网站| 伊人成人开心激情综合网| 久久久久久午夜| 国产精品精品一区二区三区午夜版| 91免费电影网站| 亚洲精品网站在线播放gif| 成人网址在线观看| 欧美日韩国产精品一区二区三区四区| 亚洲最新av在线| 国产成人激情视频| 国内精品中文字幕| 精品国产欧美一区二区五十路| 亚洲人成在线播放| 一本久久综合亚洲鲁鲁| 久久精品视频在线观看| 国产欧美最新羞羞视频在线观看| 午夜精品福利在线观看| 亚洲欧美日韩天堂| 精品国产一区二区三区久久狼黑人| 亚洲国产另类 国产精品国产免费| 91久久精品美女高潮| 国产69精品久久久久9| 欧美亚洲日本网站| 欧美成aaa人片在线观看蜜臀| 懂色av一区二区三区| 欧美大尺度电影在线观看| 九九久久久久久久久激情| 秋霞成人午夜鲁丝一区二区三区| 国产小视频国产精品| 欧美激情欧美激情| 欧美性69xxxx肥| 91影院在线免费观看视频| 另类视频在线观看| 国产精品久久激情| 欧美老女人www| 国产精品v日韩精品| 国产不卡av在线免费观看| 92版电视剧仙鹤神针在线观看| 国产成人+综合亚洲+天堂| 国产综合香蕉五月婷在线| 欧美一区在线直播| 国内精品久久久久伊人av| 中文字幕少妇一区二区三区| 国产性猛交xxxx免费看久久| 国产精品久久久久久久久| 日韩欧美极品在线观看| 国产在线精品自拍| 91免费在线视频| 亚洲自拍偷拍区| 国产精品美女久久久久av超清| 国产精品欧美日韩一区二区| 综合网中文字幕| 国产69精品久久久久99| 欧美国产日产韩国视频| 91高清视频免费观看| 亚洲jizzjizz日本少妇| 国产日韩精品视频| 91精品成人久久| 亚洲xxxx做受欧美| 91久久久亚洲精品| 亚洲视屏在线播放| 最近中文字幕2019免费| 亚洲va久久久噜噜噜久久天堂| 亚洲第一福利视频| 国产成人精品一区| 国产亚洲人成网站在线观看| 久久精品国产成人精品| 久久精品国产2020观看福利| 亚洲欧美综合另类中字| 亚洲欧美在线一区二区| 日韩中文字幕在线看| 一区二区三区四区视频| 日韩激情av在线播放| 欧美国产中文字幕| 色综合久久久久久中文网| 亚洲激情国产精品| 欧美日韩中文在线| 久久免费视频观看| 久久精品国产一区二区三区| 国产精品视频免费观看www| 亚洲天堂男人天堂| 欧美超级免费视 在线| 久久久久久一区二区三区| 国产精品亚洲精品| 国产精品欧美激情| 欧美激情视频网| 91在线视频一区| 国产精品入口日韩视频大尺度| 不卡av日日日| 亚洲aⅴ日韩av电影在线观看| 久久免费视频在线| 久久精品久久精品亚洲人| 超碰精品一区二区三区乱码| 亚洲男人天堂古典| 国产成人jvid在线播放| 97国产精品视频人人做人人爱| 日本亚洲欧洲色α| 92看片淫黄大片看国产片|