A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 习惯就好 中级黑马   /  2015-3-3 22:56  /  523 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. package com.itheima;

  2. import java.beans.BeanInfo;
  3. import java.beans.IntrospectionException;
  4. import java.beans.Introspector;
  5. import java.beans.PropertyDescriptor;
  6. import java.lang.reflect.Method;

  7. public class Test8
  8. {
  9.         public static void mian(String [] args) throws  Exception
  10.         {
  11.                 Class clazz=Class.forName("com.itheima.testBean");
  12.                 Object bean=clazz.newInstance();
  13.             BeanInfo bi=Introspector.getBeanInfo(clazz);
  14.             PropertyDescriptor [] pt=bi.getPropertyDescriptors();
  15.             for(PropertyDescriptor pd:pt)
  16.             {
  17.                     Object name =pd.getName();
  18.                     Object type=pd.getPropertyType();
  19.                     Method gt=pd.getReadMethod();
  20.                     Method st=pd.getWriteMethod();
  21.                     if(!"class".equals(name))
  22.                     {
  23.                             if(st !=null)
  24.                             {
  25.                                     if(type==boolean.class||type==boolean.class)
  26.                                     {
  27.                                             st.invoke(bean, true);
  28.                                     }       
  29.                                     if(type==String.class)
  30.                                     {
  31.                                             st.invoke(bean, "www.itheima.com");
  32.                                     }
  33.                                     if(type==int.class||type==Integer.class)
  34.                                     {
  35.                                             st.invoke(bean, 100);
  36.                                     }
  37.                                     if(type==double.class||type==Double.class)
  38.                                     {
  39.                                             st.invoke(bean, 0.01D);
  40.                                     }
  41.                             }
  42.                             if(gt !=null)
  43.                             {
  44.                                     System.out.println(type+""+name+"="+gt.invoke(bean, null));
  45.                             }
  46.                     }
  47.                    
  48.             }
  49.         }

  50. }
  51. class testBean
  52. {
  53.         private boolean b;
  54.         private Integer i;
  55.         private String str;
  56.         private Double d;
  57.         public Boolean getb()
  58.         {
  59.                 return b;
  60.         }
  61.         public void setb(Boolean b)
  62.         {
  63.                 this.b=b;
  64.         }
  65.         public Integer getI()
  66.         {
  67.                 return i;
  68.         }
  69.         public void setI(Integer i)
  70.         {
  71.                 this.i=i;
  72.         }
  73.         public String getStr()
  74.         {
  75.                 return str;
  76.         }
  77.         public void setStr()
  78.         {
  79.                 this.str=str;
  80.         }
  81.         public Double getD()
  82.         {
  83.                 return d;
  84.         }
  85.         public void setD()
  86.         {
  87.                 this.d=d;
  88.         }
  89.        
  90. }
复制代码


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马