2011-01-09 16 views
2

メソッド記述子内のObject [] []のWhatsフィールド記述子?クラスfoo.bar.Class及び方法が存在すると言うクラスを取る[] []、Object [] []のJavaフィールド記述子

http://java.sun.com/docs/books/jvms/second_edition/html/ClassFile.doc.html#14152

またはJNI仕様に従って私の理解は、それが

[[Lfoo/bar/Class; 

でなければならないことですそれは "[foo.bar.Class"の配列に評価され、当然java.lang.NoClassDefFoundErrorをトリガーします。

は "内側" の配列は、おそらく

[Ljava/lang/Object; 

その結果、java.lang.Objectの考慮すべきでしょうか?

答えて

2

あなたは何か間違っていると思います。これは私の作品:

package ro.redeul.test; 

public class Test { 

    public static void main(String[] args) throws NoSuchMethodException { 
     System.out.println("x: " + Test.class.getMethod("method").getReturnType().toString()); 
    } 

    public Test[][] method() { 
     return null; 
    } 
} 

それはx: class [[Lro.redeul.test.Test;

は、あなたがより多くのコンテキストを提供することができます印刷しますか?

+0

私は本当にタイプミスを見落としていました:(記述子文字列の最後にある ';'が欠落しています)解決済みの問題 – barbaz

+0

ああ。ok then :) –

+0

また、記述子文字列を検証するには "javap -c" – barbaz

関連する問題