黑马程序员技术交流社区
标题:
关于BeanUtils工具操作JavaBean问题
[打印本页]
作者:
quan23355
时间:
2013-12-3 22:37
标题:
关于BeanUtils工具操作JavaBean问题
本帖最后由 quan23355 于 2013-12-4 10:36 编辑
张老师的高新技术视频中讲到BeanUtils工具操作JavaBean,代码如下:
public class ReflectPoint {
private Date birthday = new Date();//创建Data对象,Data类可以当作javaBean类,Data中有setTime方法。
private int x;
public int y;
public ReflectPoint(int x, int y) {
super();
this.x = x;
this.y = y;
}
public int getX() {
return x;
}
public void setX(int x) {
this.x = x;
}
public int getY() {
return y;
}
public void setY(int y) {
this.y = y;
}
public Date getBirthday() {
return birthday;
}
public void setBirthday(Date birthday) {
this.birthday = birthday;
}
}
public class IntroSpectorTest
{
public static void main(String[] args) throws Exception
{
ReflectPoint pt1 = new ReflectPoint(3,5);//创建javaBean类对象
System.out.println(BeanUtils.getProperty(pt1, "x")); //获取pt1对象javaBean属性x的值,BeanUtils是以字符串的形式操作javaBean的。打印3.
System.out.println(BeanUtils.getProperty(pt1, "x").getClass().getName());//打印java.lang.String,”x”是字符串类型
BeanUtils.setProperty(pt1, "x", "9");//将pt1对象的x值设置为9.
System.out.println(pt1.getX()); //打印9
/*
java7的新特性
//map集合可以和javaBean相互转换,BeanUtils提供了转换的方式,map集合中的键相当于javaBean中的属性。因此BeanUtils可以操作map集合
//Map map = {name:"zxx",age:18}; // java7的新特性,以键值对的形式直接加进map集合中。即name键的值为”zxx”,age键的值为18.
BeanUtils.setProperty(map, "name", "lhm");// BeanUtils设置map集合name键的值为”lhm”
*/
BeanUtils.setProperty(pt1, "birthday.time", "111");
System.out.println(BeanUtils.getProperty(pt1, "birthday.time"));
PropertyUtils.setProperty(pt1, "x", 9);// PropertyUtils是以属性本身的类型来操作javaBean
System.out.println(PropertyUtils.getProperty(pt1,"x").getClass().getName());//Integer
}
}
复制代码
问题就在BeanUtils.getProperty(pt1, "birthday.time"),到这糊涂了,其中的birthday.time该怎么理解呢?
作者:
ysunday
时间:
2013-12-3 23:29
猜测是birthday中的time属性吧,就像Person中的name属性一样,BeanUtil支持级联
作者:
半夜雨半夜雨
时间:
2013-12-4 10:23
BeanUtils.getProperty(pt1, "birthday.time")//birthday是Date类型的对象,time是Date类型下的一个属性,可以理解为通过一个Date类型的对象获得time属性,而BeanUtils支持属性层级的连接
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2