8

我正在使用 instanceof,但它目前没有像我预期的那样工作。我有一个从脚本中的 java 代码中检索到的变量。让我们将此变量称为 myObject,它是 MyObject 类的实例,正如您所期望的那样。

if (myObject instanceof Java.type("MyObject")) {
    //The check doesn't pass; the code here doesn't execute
}

我只能在网上找到有关此的模糊信息。检查 myObject 是否是 MyObject 类的实例的明确方法是什么,就像我在 Java 中很容易做的那样?

谢谢!

4

1 回答 1

12

您所拥有的应该可以工作(当然,使用完全限定的类名)。例如,这绝对有效:

jjs> var x = new java.util.BitSet()
jjs> x instanceof Java.type("java.util.BitSet") 
true

注意:java.util.BitSetJava.type("java.util.BitSet")是可以互换的,我只是用两者来说明,无论你如何构造对象,结果应该是一样的。

于 2014-06-21T17:18:49.903 回答