Java反射调用静态方法

自己的一个例子讲解一下反射调用静态方法
这里以String.join()方法举例将 String[] arr= {“I”,“came”,“from”,“Laifeng”,“in”,“Hubei”,“Enshi,”,
“which”,“is”,“a”,“small”,“developing”,“town”};这个数组变成一个正常的句子
//将数组通过Arrays类方法转成集合
List asList = Arrays.asList(arr);
//此方法需要些String类里的静态join方法和实现方法该功能需要的两个参数类型
Method method = c.getDeclaredMethod(“join”, CharSequence.class,Iterable.class);

//下面是String类的底层join方法代码
public static String join(CharSequence charsequence, Iterable iterable)

//谨记需要按照使用方法的功能依次将参数的类型写进去才可以 !

//靜態方法的調用,Object對象傳入null值
Object invoke = method.invoke(null,(CharSequence)" ",(Iterable)asList);
System.out.println(invoke);
整体代码如下:

 String[] arr= {"I","came","from","Laifeng","in","Hubei","Enshi,",
         "which","is","a","small","developing","town"};
        List asList = Arrays.asList(arr);
        Method method = c.getDeclaredMethod("join", CharSequence.class,Iterable.class);
        //靜態方法的調用,Object對象傳入null值
        Object invoke = method.invoke(null,(CharSequence)" ",(Iterable)asList);
        System.out.println(invoke);

你可能感兴趣的:(Java反射调用静态方法)