一個簡單的java反射例子(獲得javabean裡面的欄位)

來源:互聯網
上載者:User

//通過傳入的對象,獲得對象中的方法 

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();
  }

}

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.