Re: [問題] 動態讀取class
※ 引述《jacky951 (藍憶)》之銘言:
: 小弟我最近在寫專題,為了之後學弟妹們的維護以及更新容易。
: 所以有一個想法,就是當我需要新的功能
: 只需要把如A.class檔放在JAVA的資料夾,接著去資料庫增加class的名稱"A"
: 而不需要去程式裡面多一行 A a = new A();
如果你只會用到default constructor,不需要傳參數,那會像下面這樣
====================================================================
String className = "idv.cqd.homeworld.MyClassOfHiigaran";
MyClass mc = (MyClass) Class.forName(className).newInstance();
====================================================================
如果你需要傳參數給constructor,例如說一個int跟一個float
那就會變成這樣:
====================================================================
Class[] paraTypeAry = new Class[]{Integer.TYPE,Float.TYPE};
Object[] paraAry = new Object[]{new Integer(123), new Float(1.23f)};
String className = "idv.cqd.homeworld.MyClassOfKushan";
Constructor c = Class.forName(className).getConstructor(paraTypeAry);
MyClass a = (MyClass) c.newInstance(paraAry);
====================================================================
-
不過我情感上討厭Class Wrapper,不知道有沒有辦法直接扔原生資料型態進去?
--
這閃電拳能射出雷射光,威力每平方公分一萬億瓦特
威力無比,拳到之處,攻無不克
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.47.112.160
※ 編輯: GALINE 來自: 114.47.112.160 (11/09 20:14)
推
11/09 21:20, , 1F
11/09 21:20, 1F
推
11/10 01:09, , 2F
11/10 01:09, 2F
→
11/10 01:17, , 3F
11/10 01:17, 3F
推
11/10 08:56, , 4F
11/10 08:56, 4F
討論串 (同標題文章)