Java descripteur de champ pour objet [] []
-
09-10-2019 - |
Question
Quel descripteur de champ pour un objet [] [] dans un descripteur de méthode? Say il existe une classe foo.bar.Class et une méthode prend une classe [] [], selon
http: //java.sun. com / docs / livres / JVMs / second_edition / html / ClassFile.doc.html # 14152
ou la spécification JNI ma compréhension est qu'il doit être
[[Lfoo/bar/Class;
mais qui est évalué à un tableau de « [foo.bar.Class » qui bien sûr déclenche une java.lang.NoClassDefFoundError
.
Au cas où le tableau « intérieur » probablement être considéré comme un java.lang.Object, entraînant
[Ljava/lang/Object;
La solution
Vous faites quelque chose de mal, je suppose. Cela fonctionne pour moi:
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;
}
}
il imprime x: class [[Lro.redeul.test.Test;
Pouvez-vous fournir plus de contexte?
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow