2012-03-30 8 views
13

サブクラスをロードする正しいFindClass識別子の構文は何ですか?たとえば:サブクラスのJNI FindClass形式?

package a.b.c; 

class Foo { 
    class Bar { 
    ... 
    } 
} 

取得するにFoo私は(*env)->FindClass(env, "https://stackoverflow.com/a/b/c/Foo")を行うが、(*env)->FindClass(env, "a/b/c/Foo/Bar")を通じてBarを取得しようとすると、ClassNotFoundException投げることができます。サブクラスを表すための別の構文はありますか?

答えて

34

ここでは、javapツールを使用しても問題ありません。正しい構文は次のとおりです。

a/b/c/Foo$Bar

+1

これは一般的な原則です。それを理解しようとするのではなく、常に 'javap'を使うべきです。 JNIメソッドと型シグネチャは、 'javap'が正しい答えを知っている別の例です。 – EJP

+0

この場合を除いて、私は任意のコードを変換する間にそれをしようとしているので、 'javap'を起動して出力を合わせようとすると、うまく動作しません。 –

+0

私はそれを理解していません。あなたの質問にはあなたが尋ねた以上に多くのことがありますか? – EJP

関連する問題