【发布时间】:2014-04-16 05:02:55
【问题描述】:
使用 Nashorn 运行 JavaScript 时
var jsArray = [7,4,1,8,3,2];
var list = java.util.Arrays.asList(jsArray);
java.util.Collections.sort(list);
list.forEach(function(el) { print(el) } );
我明白了
Exception in thread "main" java.lang.ClassCastException: jdk.nashorn.internal.objects.NativeArray cannot be cast to java.lang.Comparable
at java.util.Collections.sort(Collections.java:170)
那么在 JavaScript 中使用 Java 集合的方法是什么?
更新:
感谢 Attila,不是 JS 和 JJS 脚本都产生相同的输出
var jsArray = [1,2,3,4];
jsArray.forEach(function(el) { print(el) } );
var jsArray = [1,2,3,4];
//var list = java.util.Arrays.asList(jsArray);
var list = Java.to(jsArray, Java.type('java.util.List'))
list.forEach(function(el) { print(el) } );
【问题讨论】:
标签: java javascript nashorn