通過反射獲取方法返回的型別
阿新 • • 發佈:2019-01-30
package org.entity; import java.lang.reflect.Method; import java.lang.reflect.Type; /** * 本案例演示如何通過反射將字串轉換為類 * */ public class Test3 { public static void main(String[] args) { String user = "org.entity.User";//字串是該類的全限定名 try { Class clzz = Class.forName(user); Object classObj=clzz.newInstance();//將class類轉換為物件 //--------------------反射類呼叫User中的sayHello()方法----------------------------- //注意匯入正確的Method包名: // import java.lang.reflect.Method; //獲取該類的所有方法 Method[] methods = clzz.getMethods(); //遍歷方法 for(Method m:methods){ if(m.getName().equals("sayHello2")){//找到sayHello這個方法 //獲取返回型別 Type type=m.getGenericReturnType(); //如果返回的是類 (比如user)aa顯示為:class org.entity.User //如果返回的是普通資料型別(int) aa顯示為:int String aa=type.toString(); String nameString=""; } } } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (InstantiationException e) { e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); } } }