如何在Nashorn中使用由NameValuePairs组成的ArrayList?

时间:2017-10-17 15:47:26

标签: java nashorn

如何在Nashorn中使用由NameValuePair组成的ArrayList? 举个例子,我在Nashorn会有类似的东西:

var args = new java.util.ArrayList();

但我需要这样(Java示例)

List<NameValuePair> args = new ArrayList<NameValuePair>();

1 个答案:

答案 0 :(得分:0)

JavaScript不知道泛型的概念,因此new java.util.ArrayList()实际上与new ArrayList<NameValuePair>()相同。

要在Nashorn中创建此类对象,请使用:

final ScriptEngine se = new NashornScriptEngineFactory()
    .getScriptEngine("--language=es6");

// prints [one, two]
se.eval("const ArrayList = Java.type('java.util.ArrayList');" +
    "const args = new ArrayList();" +
    "args.add('one'); // or an NameValuePair instance" +
    "args.add('two');" +
    "print(args);"
);