Дескриптор поля Java для Object [] [] - PullRequest
2 голосов
/ 09 января 2011

Что такое дескриптор поля для Object [] [] внутри дескриптора метода?Скажем, существует класс foo.bar.Class, а метод принимает Class [] [], в соответствии с

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

или спецификацией JNI, как я понимаю, это должно быть

[[Lfoo/bar/Class;

, но это оценивается как массив "[foo.bar.Class", который, конечно, вызывает java.lang.NoClassDefFoundError.

Если "внутренний" массив, вероятно, будет рассматриваться как Java.lang.Object, в результате чего

[Ljava/lang/Object;

?

1 Ответ

2 голосов
/ 09 января 2011

Вы делаете что-то не так, я думаю.Это работает для меня:

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;

Можете ли вы предоставить больше контекста?

...