首页 > 开发 > 综合 > 正文

通过reflect中得到数组类型

2024-07-21 02:15:22
字体:
来源:转载
供稿:网友



kingfish 2005.3

今天看到一个关于通过反射如何得到数组类型的问题,试了试,可以通过array类解决。

做个记录。

代码如下:

import java.lang.reflect.*;

/** * @author kingfish * * todo java reflect */class mystring{  public mystring(string s){    system.out.println("in constructor of the mystring");   } }

public class testreflect {   /**   * 构造函数   * @param i   */   public testreflect(int i){    system.out.println("just for test");   }    public void test(){     }  public void test(mystring s){     }  public void test(mystring[] args){     }    public static void main(string[] args) throws exception{     class c = class.forname("testreflect");          method m = c.getmethod("test", new class[]{});     system.out.println(m);          //反射test(mystring)方法     m = c.getmethod("test", new class[]{mystring.class});     system.out.println(m);          //反射test(mystring)方法, 并且要求mystring类也需要反射获得     m = c.getmethod("test", new class[]{class.forname("mystring")});     system.out.println(m);              //反射test(mystring[])方法, 要求mystring[] 类型也反射获得     //array.newinstance返回类型数组,并不产生类的实例     m = c.getmethod("test", new class[]{array.newinstance(class.forname("mystring"),1).getclass()});     system.out.println(m);  }}
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表