Java Reflection - Editing Array Length

前端 未结 4 1562
灰色年华
灰色年华 2020-12-21 14:10

I was wondering if it is possible to change to change the length of a class\'s integer array using the Java Reflection API. If so, how?

4条回答
  •  离开以前
    2020-12-21 14:39

    I guess java will not allow you to change array length but yes you can set value at index using reflection.

     import java.lang.reflect.*;
    
     public class array1 {
      public static void main(String args[])
      {
         try {
            Class cls = Class.forName(
              "java.lang.String");
            Object arr = Array.newInstance(cls, 10);
            Array.set(arr, 5, "this is a test");
            String s = (String)Array.get(arr, 5);
            System.out.println(s);
         }
         catch (Throwable e) {
            System.err.println(e);
         }
      }
     }
    

提交回复
热议问题