本帖最后由 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该怎么理解呢?
|