JDK Java

import java.io.InputStreamReader;
import java.util.List;
import javax.script.Invocable;
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
public class Main {
  public static void main(String[] args) throws Exception {
    ScriptEngineManager mgr = new ScriptEngineManager();
    ScriptEngine engine = mgr.getEngineByName("javascript");
    engine.eval(new InputStreamReader(Main.class.getResourceAsStream("scripting.js")));
    List list1 = (List) engine.get("list1");
    if (list1 != null) {
      for (String s : (List) list1) {
        System.out.println(s);
      }
    }
    Invocable engineInv = (Invocable) engine;
    Object obj = engine.get("listObject");
    Object list2 = engineInv.invokeMethod(obj, "getList2");
    if (list2 != null) {
      for (String s : (List) list2) {
        System.out.println(s);
      }
    }
  }
}