首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

惯用的工具类

2012-10-15 
常用的工具类http://hi.baidu.com/laopin10/blog/item/6f09eb3f364d57f3838b1330.htmlpackage apache.comm

常用的工具类

http://hi.baidu.com/laopin10/blog/item/6f09eb3f364d57f3838b1330.html
package apache.commons.lang.test;import java.util.Map;import org.apache.commons.beanutils.BeanUtils;import apache.commons.lang.test.model.Model;import apache.commons.lang.test.model.Sub;public class BeanUtilsTest2 {public static void main(String[] args) throws Exception {Model model = new Model();Sub sub = new Sub();sub.setDesc("我是嵌套对象");model.setSub(sub);BeanUtils.copyProperty(model, "name", "名称");System.out.println(model.getName());// 返回属性名---属性值 MapMap map = BeanUtils.describe(model);model.setMap(map);System.out.println(map.get("name"));String[] hobbys = new String[] { "篮球", "台球" };model.setHobbys(hobbys);// 针对数组属性的操作System.out.println(BeanUtils.getIndexedProperty(model, "hobbys[1]"));// 针对Map属性的操作String value = BeanUtils.getMappedProperty(model, "map(class)");System.out.println(value);//得到嵌套对象的属性System.out.println(BeanUtils.getNestedProperty(model, "sub.desc"));//得到一般的属性System.out.println(BeanUtils.getProperty(model, "name"));//浅的拷贝Model model2= (Model) BeanUtils.cloneBean(model);//这里还是返回的true,属性只是简单的拷贝引用System.out.println(model2.getSub()==sub);}}?

?BeanUtils ? 通过反射动态的拷贝一个对象的属性到另个对象。

?

?package apache.commons.lang.test;

import java.lang.reflect.InvocationTargetException;import org.apache.commons.beanutils.BeanUtils;import apache.commons.lang.test.model.Model;import apache.commons.lang.test.model.Sub;import apache.commons.lang.test.model.UI;public class BeanUtilsTest {public static void main(String[] args) {// BeanUtils utils = new BeanUtils();UI ui = new UI();Sub sub = new Sub();sub.setDesc("aaaaaa");//System.out.println("source:" + sub);ui.setName("aaa");ui.setSub(sub);Model model = new Model();try {// 拷贝两个对象的∩,并且如果是对象的话只拷贝引用,并不会递归进去深层的seterBeanUtils.copyProperties(model, ui);System.out.println(model.getAge());System.out.println(model.getName());System.out.println(model.getSub());} catch (IllegalAccessException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (InvocationTargetException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}

热点排行