一个简单的java反射例子(获得javabean里面的字段)

来源:互联网 发布:通达oa数据字典 编辑:程序博客网 时间:2024/06/06 11:36

//通过传入的对象,获得对象中的方法 

public void ddddd(Object o){
  // 将object类型转为字符类型
  String pojo = String.valueOf(o);
  // 截取正确的pojo类的实例路径
  pojo = pojo.substring(0, pojo.indexOf("@"));
  
  Class pojoIn = null;
  System.out.println("pojo:"+pojo);
  try {

  //创建对象
   pojoIn = Class.forName(pojo);
  } catch (ClassNotFoundException e) {
   e.printStackTrace();
  }

//获得对象的方法集合
  Method[] methods = pojoIn.getDeclaredMethods();

//根据方法集合大小的一半声明一个数组
  String[] temp = new String[methods.length / 2];
  List array = new ArrayList();

//循环读取方法集合中方法的名称,并截取
  for (int i = 0; i < methods.length; i++) {
   if (methods[i].toString().substring(7, 11).equals("void")) {
    String str = methods[i].toString();
    str = str.substring(str.indexOf(pojo), str.indexOf("("));
    str = str.substring(str.lastIndexOf(".") + 4, str.length());
    str = str.substring(0, 1).toLowerCase().toString()
      + str.substring(1, str.length());

    array.add(str);
   }
  }

//获得javabean中字段的名称
  for(int i = 0 ; i < temp.length ; i++){
   temp[i] = array.get(i).toString();
  }

}

原创粉丝点击