0

私はjavascript関数を呼び出すJavaアプレットを開発しています:

boolean isAllowed = (boolean) win.eval("isPointMarkCreationAllowed()");

javascriptの場合と同様に、その関数が存在するかどうかを確認したいと思います。

if (isPointMarkCreationAllowed == 'function')

とにかくJavaでそれを行うことはありますか?

4

2 に答える 2

2

実際に試してみないと、

win.eval("typeof isPointMarkCreationAllowed == 'function'");

あなたが望むことを正確に行い、ブール値(trueまたはfalse)を返しますか?

于 2013-01-28T14:56:43.163 に答える
-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

于 2013-01-28T14:50:33.160 に答える