对象[][]的Java字段描述符

对象[][]的Java字段描述符,java,c,java-native-interface,native-methods,Java,C,Java Native Interface,Native Methods,方法描述符中对象[][]的字段描述符是什么?假设存在一个类foo.bar.class,一个方法接受一个类[][],根据 或者JNI规范,我的理解是 [[Lfoo/bar/Class; 但这是一个“[foo.bar.Class”数组,它当然会触发java.lang.NoClassDefFoundError “内部”数组是否应该被视为java.lang.Object,从而导致 [Ljava/lang/Object; ?我想你做错了什么。这对我很有用: package ro.redeul.tes

方法描述符中对象[][]的字段描述符是什么?假设存在一个类foo.bar.class,一个方法接受一个类[][],根据

或者JNI规范,我的理解是

[[Lfoo/bar/Class;
但这是一个“[foo.bar.Class”数组,它当然会触发
java.lang.NoClassDefFoundError

“内部”数组是否应该被视为java.lang.Object,从而导致

[Ljava/lang/Object;

我想你做错了什么。这对我很有用:

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.redoul.test.test;


你能提供更多的上下文吗?

我确实忽略了一个输入错误:(在描述符字符串末尾的某个位置缺少“;”。问题已解决:)与此同时,我还发现验证描述符字符串的一个简单方法是“javap-c”