java - 如何知道一个属性是否是一个数组?

标签 java rhino

我正在使用 rhino API 调用 JavaScript 函数:

Function fct = context.compileFunction(scope, script, "script", 1, null);
Scriptable result = (Scriptable) fct.call(
            context, scope, attrs, new Object[0]);
Object obj = result.get("objectClass", result);

现在,如何测试“objectClass”属性的值是否为数组?

最佳答案

这可能会给您一些想法:声明一个函数来确定对象是否是数组并调用该函数传递您的对象。

engine.eval("function isArray(obj) {" +
                "  return obj.constructor == Array;" +
                "}");
Object obj = engine.eval("[1,2,3,4]");
Invocable invocableEngine = (Invocable) engine;
System.out.println(invocableEngine.invokeFunction("isArray", obj)); //true

关于java - 如何知道一个属性是否是一个数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3370021/

相关文章:

java - 如何使用 for 循环编写 XML 文件以将元素追加到前一个元素

java - 当新的多线程消费者添加到组中时是否会发生重新平衡

java - Spring Broker channel 访问

java - 如何从文本中删除字符串?

Java 对象到 JSON

java - sun.org.mozilla Rhino 和扩展 Java 抽象类

java - Spring Boot HTTPServletRequest 无法通过测试正确使用

java - Rhino 和 Java 通过 JSR223 进行互操作 : working with Javascript Object instances

java - Rhino、typeof 和自动装箱混淆

javascript - shell 中的 Rhino 1.7 不映射历史记录的方向键