我正在使用com.sun.codemodel生成我的类。
我需要根据索引参数动态获取数组值。
所以我有一个调用,假设返回一个数组
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];
我该怎么办?
最佳答案
不知道我是否正确,但是以下方法可能对您有用:
JInvocation invocation = personObject.invoke("getRoles");
JArrayCompRef arrayCompRef = invocation.component(indexExpression);
在以下JavaDoc中找到了这一点:
http://codemodel.java.net/nonav/apidocs/com/sun/codemodel/JExpressionImpl.html#component(com.sun.codemodel.JExpression)
希望这可以帮助...