1
我想在hashmap中將類傳遞爲值。我需要使用特定的鍵來獲取類(值),併爲檢索到的類實例化一個對象。但爲了創建對象,我需要傳遞參數。在HashMap中傳遞類以及如何使用密鑰獲取值
當我從另一個傳遞鍵值的類調用getExpo方法時,我的流程就到了這裏。使用鍵值,我需要得到正確的類,並使用該類需要實例化對象並需要返回該對象。爲了創建對象,我需要傳遞參數,因爲類沒有默認的構造函數。
這一程序的目的是在未來,我需要添加另一個關鍵,對價值,我shouldnot做任何改變........實現是相同的所有類即創建對象
我的類放在這裏
public class ExampleFactory {
static {
HashMap<String,Class<?>> hmap = new HashMap<String,Class<?>>();
hmap.put("jxpath", JXPathExpression.class);
hmap.put("spel", SpelExpression.class);
}
public Predicate getExpo(String key,String expression) {
// Need to get the class using key value and instantiate the object for the class
// but i need to pass parameters in order to create the object.something like this
//JXPathExpression object = new JXPathExpression(expression);
return null;
}
}
謝謝您的回覆.......當我在getEcho方法....類ACLASS = hmap.get實現它(鍵);我在hmap中得到了錯誤,因爲我在靜態塊中實現了hashmap,我無法訪問它。 – Jessie 2012-04-04 19:17:11
我需要另一個幫助.......對於一些類,我需要傳遞兩個參數,例如:(字符串,類>類型)eg:(expression,Boolean.class),如何實現它?以及如何選擇執行哪個構造函數......一個類只有一個字符串只有一個參數.......另一個類有兩個參數String和Class > – Jessie 2012-04-04 19:22:07
http://java.sun.com/developer/technicalArticles/ ALT /反射/ – Luca 2012-04-05 06:27:03