我正在开发一个Java applet,我称之为javascript函数:
boolean isAllowed = (boolean) win.eval("isPointMarkCreationAllowed()");
我想检查该功能是否存在,就像我们在javascript中一样:
if (isPointMarkCreationAllowed == 'function')
无论如何都是用Java做的吗?
答案 0 :(得分:2)
没有实际尝试过,不会
win.eval("typeof isPointMarkCreationAllowed == 'function'");
完全按照自己的意愿行事并返回布尔值(true或false)?
答案 1 :(得分:-1)
您可以使用反射来测试方法是否存在。
例如,如果你有一个对象foo,你可以获得在该对象的类中声明的所有方法:
Method[] methods = foo.getClass().getMethods();
这将返回类中声明的方法数组。
然后只需使用for循环来检查返回的数组中是否存在特定方法
for (Method m : methods)
{
if (m.getName().equals(someString))
{
//do something
}
}
someString是您正在寻找的方法的名称,在您的情况下是“isPointMarkCreationAllowed”。
使用以下网站了解Java中的反射 http://docs.oracle.com/javase/tutorial/reflect/member/methodType.html