日期:2014-05-18  浏览次数:20736 次

小问题,大伙来瞧瞧....急急急
 String[] str = new String []{"id","name","addr"};
 Users u = new Users("id","name","addr");

或者:
 String[] str = new String []{"id","name"};
 Users u = new Users("id","name");
或者

 String[] str = new String []{"id"};
 Users u = new Users("id");

请问怎么将数组转换为这个Users对象,听说反射可以办到,球高手!

数组元素的个数与构造方法参数的个数是相等的。

------解决方案--------------------
引用:
Quote: 引用:

不用反射也行。。。你的Users类的构造方法可以这么写:
public void Users(String... strs){

}
这里的String... strs代表可以传入若干个String类型参数,可以没有,可以是多个。。。再在方法里面处理。。。



可以不在构造函数里写嘛?如果有很多对象,我每个对象都要写....这样工作量很大的!

你这里,一个String数组不就是代表一个用户的信息嘛,你的意思是不是将这个String数组转为一个Users对象bean???如果是这样的话,首先你数组中的每一个元素代码users的哪个属性,是id,还是name还是address,你能确定么?也就是说你的数组就有问题啊!String[] str=new String[]{"id"}和String[] str=new String[]{"name"}你怎么判断???仅仅用单纯的字符串数组是不够的,建议你用json,指定好每个元素代表的意义。。。
------解决方案--------------------
引用:
Quote: 引用:

Quote: 引用:

不用反射也行。。。你的Users类的构造方法可以这么写:
public void Users(String... strs){

}
这里的String... strs代表可以传入若干个String类型参数,可以没有,可以是多个。。。再在方法里面处理。。。



可以不在构造函数里写嘛?如果有很多对象,我每个对象都要写....这样工作量很大的!

你这里,一个String数组不就是代表一个用户的信息嘛,你的意思是不是将这个String数组转为一个Users对象bean???如果是这样的话,首先你数组中的每一个元素代码users的哪个属性,是id,还是name还是address,你能确定么?也就是说你的数组就有问题啊!String[] str=new String[]{"id"}和String[] str=new String[]{"name"}你怎么判断???仅仅用单纯的字符串数组是不够的,建议你用json,指定好每个元素代表的意义。。。

可以根据传入参数的个数和顺序来判断,例如:new user("id");表示传的是id;new user("id","name");第一个是id,第二个是name....