我目前正在研究一個程序,我將在運行時動態加載類,並且正在構建一個支持它的函數庫。其中一個函數是一種方法,可以輕鬆地搜索給定的jar文件中的給定類名稱,並根據給定的初始化參數集創建新的實例。構造函數:從參數列表中獲取類型列表
問題是參數。我知道如何爲一組類類型找到類的構造函數,但是,試圖找到一個接受參數列表的構造函數更加困難。我的第一個想法是遍歷各個參數,並在每個參數上調用getClass()
,但是對於一些構造函數來說,這可能是有效的空參數呢?
是否有任何明智的方法來找到給定的一組參數的正確構造函數?
注意:僅標準Java,這是一個聯合項目,因此Java派生語言和第三方庫不可用。
此外,您可以添加有關ClassLoader –
的注意事項我可以處理類加載,並在過去使用過。實際上,我打算使用動態加載的大多數功能只是使用空的構造函數,然後使用初始化函數(這是更具體的應用程序),但因爲它是我正在編寫的庫,靈活的 –