Object[][] 的 Java 字段描述符

标签 java c java-native-interface native-methods

方法描述符中的 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;

最佳答案

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

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;

您能提供更多背景信息吗?

关于Object[][] 的 Java 字段描述符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4640563/

相关文章:

java - android-arm/libjnidispatch.so 找不到错误

java - 如何在 Android 代码中使用 .so 文件来使用本地方法

java - 如何为Hapi Fhir服务器实现观察资源提供者的搜索操作?

java - 我可以在 Java 的 actionPerformed 方法中使用 switch - case 吗?

c - 需要帮助在 Windows 上严重重定向计时器程序的输入和输出

c - Xcode 5.1.1 构建失败 C 编程

c - valgrind 在运行比较时显示错误

java - 从 JNI 声明函数

java - 为什么 System.out.println() 不打印字符串

java - 为什么 JAXB 不能正确处理命名空间的子元素?