JAVA循环获取值
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA循环获取值相关的知识,希望对你有一定的参考价值。
已知某实体类属性分别以英文数字one、two、three、...ten命名,提供了set、get的方法,求如何通过循环分别获取getOne()、getTwo()、getThree()、...getTen()的值
for(int i=1;i<=10;i++)
test.get(这里填One、Two、Three、...Ten)()
List countList=new ArrayList();
countList.add(one);
...
countList.add(ten);
for(int i=0;i<countList.size();i++)
test = countList.get(i);
追问
能不能通过
String num="";
switch
case 1:
num="One";
break;
........
test.get+num() 这里无法处理
不可以的。你天真了。
java中的getter和setter是预先生成好的,没有你这么用的。
代码如下:
public class User
private int age;
private String name;
private int sex;
public int getAge()
return age;
public void setAge(int age)
this.age = age;
public String getName()
return name;
public void setName(String name)
this.name = name;
public int getSex()
return sex;
public void setSex(int sex)
this.sex = sex;
User(int age,int sex,String name)
this.age=age;
this.sex=sex;
this.name=name;
public static void main(String[] args)
User u=new User(20, 1, "test");
Class c=u.getClass();
Method[] ms=c.getDeclaredMethods();
for(Method m:ms)
String name=m.getName();
if(name.startsWith("get"))
try
Object r=m.invoke(u, null);
System.out.println(r);
catch (IllegalAccessException e)
e.printStackTrace();
catch (IllegalArgumentException e)
e.printStackTrace();
catch (InvocationTargetException e)
e.printStackTrace();
以上是关于JAVA循环获取值的主要内容,如果未能解决你的问题,请参考以下文章