我有一个班级:
public interface ControlService extends RemoteJsonService
{
public void myValues( String [] Names, AsyncCallback<Map<String,RegisterValues>> callback);
public class RegisterValues
{
int FirstField;
int SecondField;
//etc. 200 times
我有一个字符串:
String[] fieldValues = new String[]{"FirstField", "SecondField", ....}; //200 of these
我试图呼吁这些领域(重要的部分是走向终点):
public class RegistersPanel implements TestStandPanel, ChangeHandler
{
private ControlService service_;
public RegistersPanel(){
service_.RegisterValues( Names, new AsyncCallback<Map<String,ControlService.RegisterValues>>()
{
public void onSuccess( Map<String,ControlService.RegisterValues> result )
{
for( String Name : result.keySet() ){
for (String Values : fieldValues){
message+=result.get(Name).getField(Values); //something like this but I can't quite figure out the syntaxt
//message+=result.get(Name).FirstField; this is tedious
}
正如你所看到的,我不能只使用getField
,Eclipse没有给我任何有用的选择 - 任何建议?
答案 0 :(得分:0)
我认为这是你在double for循环中寻找的东西,
RegisterValues regValue=reuslt.get(Name);
regValue.getClass().getDeclaredField(Values).getInt(regValue);
这不是确切的解决方案。这只是让您访问该类中的字段值。
P.S:如果改为Values
value
会很好看