Java CodeModel如何使用com.sun.CodeModel获得特定索引的值
我正在使用com.sun.codemodel生成我的类。 我需要根据索引参数动态获取数组值 所以我有一个调用,它假设返回一个数组Java CodeModel如何使用com.sun.CodeModel获得特定索引的值,java,arrays,sun-codemodel,Java,Arrays,Sun Codemodel,我正在使用com.sun.codemodel生成我的类。 我需要根据索引参数动态获取数组值 所以我有一个调用,它假设返回一个数组 JcodeModel model = new JCodeModel(); JPackage jPackage = codeModel._package(packageName); ..... JType personType = codeModel._ref(Person.class); jVar personObject = method.decl
JcodeModel model = new JCodeModel();
JPackage jPackage = codeModel._package(packageName);
.....
JType personType = codeModel._ref(Person.class);
jVar personObject = method.decl(personType, "person", JExpr._new(personType));
personObject.invoke("getRoles");???
在本例中,getRoles()返回一个数组,我想在特定索引处获取一个对象。
像这样的
int index = 0;
Person person = new Person();
String role = person.getRoles()[index];
我该怎么办?最坏的情况下,您可以始终使用JBlock.directStatement()…最坏的情况下,您可以始终使用JBlock.directStatement()…不知道我是否正确,但可能以下内容对您有用:
JInvocation invocation = personObject.invoke("getRoles");
JArrayCompRef arrayCompRef = invocation.component(indexExpression);
在以下JavaDoc中找到此项:
)
希望这有帮助…我不知道我是否正确,但也许以下内容对你有用:
JInvocation invocation = personObject.invoke("getRoles");
JArrayCompRef arrayCompRef = invocation.component(indexExpression);
在以下JavaDoc中找到此项:
)
希望这能有所帮助……谢谢这有效,但我没有声明它为JarrayCompression。谢谢这有效,但我没有声明它为JarrayCompression。