if (typeof obj.getClass != "undefined") {
// It's a Java object
}
Which seems to work, but not sure if it's foolproof.
Is there a better way of doing this?
{getClass : true}
Would fail your test
I think using instanceof to check against java.lang.Object would be
safer. For example:
js> x={}
[object Object]
js> y=new Packages.java.lang.Object()
java.lang.Object@2bb514
js> z= new Packages.java.lang.String("foo");
foo
js> x instanceof Packages.java.lang.Object
false
js> "hello" instanceof Packages.java.lang.Object
false
js> y instanceof Packages.java.lang.Object
true
js> z instanceof Packages.java.lang.Object
true
js>
Jake