java利用反射執行對象的方法

來源:互聯網
上載者:User
import java.lang.reflect.InvocationTargetException;import java.lang.reflect.Method;public class ClassUtil {    /**     * 通過反射執行srcClass的方法     * @param object   --- the object the underlying method is invoked from     * @param srcClass  ---要執行的類class     * @param paramClasses  --- 參數class數組     * @param methodName  ---方法名稱     * @param args   ---the arguments used for the method call     * @return     * @throws SecurityException     * @throws NoSuchMethodException     * @throws IllegalAccessException     * @throws IllegalArgumentException     * @throws InvocationTargetException     */    public static Object executeObjectMethod(Object object, Class<?> srcClass, Class<?>[] paramClasses, String methodName,  Object... args) throws SecurityException, NoSuchMethodException, IllegalAccessException, IllegalArgumentException, InvocationTargetException {        Method method = srcClass.getMethod(methodName, paramClasses);        return method.invoke(object, args);    }    public static void main(String[] args) throws Exception {        //通過反射執行Integer的toHexString靜態方法        //System.out.println(Integer.toHexString(233));        System.out.println(ClassUtil.executeObjectMethod(null, Integer.class, new Class[]{int.class}, "toHexString", 233 ));        String value = new String("test");        //執行String對象的length()方法        System.out.println(executeObjectMethod(value, value.getClass(), null, "length"));    }}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.