Java中的Method.invoke方法參數解析


Java中的Method.invoke方法參數解析

Java中的Method.invoke方法參數解析,可以根據傳的參數類型,選擇對應類型參數的方法進行執行方法,如下案例:

package demo;

import java.lang.reflect.Method;

public class Test2 {
    public void print(int ... ints) {
        for (int i = 0; i < ints.length; i++) {
            System.out.println(ints[i]);
        }
    }
    
    public void print(String ... Strings) {
        for (int i = 0; i < Strings.length; i++) {
            System.out.println(Strings[i]);
        }
    }
    
    public void print(char ... chars) {
        for (int i = 0; i < chars.length; i++) {
            System.out.println(chars[i]);
        }
    }
    
    public static void main(String[] args) {
        Class<?> c = Test2.class;
        try {    
            Method m = c.getMethod("print", int[].class);
            m.invoke(c.newInstance(), new int[] {1,2,3,4,5});
            
            System.out.println();
            
            Method m1 = c.getMethod("print", String[].class);
            m1.invoke(c.newInstance(), new Object[] {new String[] {"aa","bb","cc"}});
            
            System.out.println();
            
            Method m2 = c.getMethod("print", char[].class);
            m2.invoke(c.newInstance(), new Object[] {new char[] {'a','b','c'}});
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        
    }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM