我用java的放射写了一个测试,报错,但是还是有结果输出,代码如下public class User
{
    private String username;
    private String password;
    Integer value1,value2,value3,value4,value5,value6,value7,value8,value9,value10;
  
    //一下是属性的get/set方法
    .....................
}public class TestInvoke
{
      public static void main(String[] args)
      {
             public static void main(String[] args)
{
int[] vals = new int[]{1,2,3,4,5,6,7,8,9,10};
User user = Go.setUserValues(vals);
List list = Go.getUserValues(user);

for(int i=0;i<list.size();i++)
{
int j = i + 1;
System.out.println("value" + j + "=" + list.get(i));
}

}

public static User setUserValues(int[] vals)
{
User user = new User();

try
{
Class c = user.getClass();

for(int i=1;i<=10;i++)
{
//动态获取方法名
String methodName = "setvalue" + i;
//设置方法的参数
Class[] args = new Class[1];
Integer u = new Integer(3);
args[0] = u.getClass();
Method method = c.getMethod(methodName, args);
//调用方法
method.invoke(user, vals[i-1]);
}


}catch(Exception ex)
{
ex.printStackTrace();
}
return user;
}

public static List getUserValues(User user)
{
    List list = new ArrayList();
    
    try
    {
     Class c = user.getClass();
    
     for(int i = 1;i <= 10;i++)
     {
     String methodName = "getValue" + i;
     Method method = c.getMethod(methodName, null);
     Integer s = (Integer)method.invoke(user, null);
     list.add(s);
    
     }
    }catch(Exception ex)
    {
     ex.printStackTrace();
    }
    return list;
    
}      }
}报错如下:
  java.lang.NoSuchMethodException: User.setvalue1(java.lang.Integer)
value1=null
value2=null
at java.lang.Class.getMethod(Class.java:1605)
TestInvoke.setUserValues(Go.java:42)
TestInvoke.main(Go.java:15)
value3=null
value4=null
value5=null
value6=null
value7=null
value8=null
value9=null
value10=null