程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> 通過reflect中得到數組類型

通過reflect中得到數組類型

編輯:關於JAVA

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); }}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved