【发布时间】:2014-02-26 06:10:07
【问题描述】:
我正在尝试使用整数数组列表并检查其中是否存在 var。 它适用于字符串数组,但不适用于整数数组。
public static void main(String[] args) throws ScriptException {
List<Object> list = new ArrayList<Object>();
list.add(1);
list.add(2);
List<String> lists = new ArrayList<String>();
lists.add("1");
lists.add("2");
ScriptEngineManager factory = new ScriptEngineManager();
ScriptEngine engine = factory.getEngineByName("JavaScript");
engine.put("list", list);
System.out.println(engine.eval("list.indexOf(1)"));
//print -1 , Why ?
engine.put("lists", lists);
System.out.println(engine.eval("lists.indexOf('1')"));
//print 0
}
代码有什么问题?
【问题讨论】:
-
查看代码:您使用的对象数组列表不是您所说的整数。不知道规范对此有何规定,但您确定它应该有效吗?
-
@tgkprog 不过里面有整数。无论如何,在运行时类型参数不再存在。在这两种情况下,它只是一个
List。 -
是的,我希望 Amigo 能够意识到这一点,然后下一个合乎逻辑的事情 - 向 Rhino 团队提交错误。
-
@tgkprog 我的错,复制错误的代码。但是使用整数示例列表给出相同的结果。