Object[][] 的 Java 字段描述符
方法描述符中的 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;
?
Whats field descriptor for an Object[][] within a method descriptor? Say there exists a class foo.bar.Class and a method takes a Class[][], according to
http://java.sun.com/docs/books/jvms/second_edition/html/ClassFile.doc.html#14152
or the JNI specification my understanding is that it should be
[[Lfoo/bar/Class;
but that is evaluated to an array of "[foo.bar.Class" which of course triggers a java.lang.NoClassDefFoundError
.
Should the "inner" array probably be considered a java.lang.Object, resulting in
[Ljava/lang/Object;
?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我猜你做错了什么。这对我有用:
它打印
x: class [[Lro.redeul.test.Test;
你能提供更多上下文吗?
You are doing something wrong I guess. This works for me:
it prints
x: class [[Lro.redeul.test.Test;
Can you provide more context ?