我正在创建一个带有字符串和类的新对象。假设我有一个名为“Quiz.java”的类。什么有效:
headerItem = new TreeFieldItem(new QuizMenuItem(key, Quiz.class));
我的“值”字符串返回“测验”。我如何使这项工作?
private ArrayList<TreeFieldItem> getListItems() {
ArrayList<TreeFieldItem> arrayList = new ArrayList<TreeFieldItem>(14);
TreeFieldItem headerItem = null;
Map<String, String> map = getMenuItems(R.xml.xml_quiz_menu);
for (Entry<String, String> entry : map.entrySet()) {
String key = entry.getKey();
String value = entry.getValue();
**headerItem = new TreeFieldItem(new QuizMenuItem(key, value.class));**
arrayList.add(headerItem);
}
return arrayList;
}
答案 0 :(得分:4)
使用Class.forName(String)
http://mindprod.com/jgloss/classforname.html
headerItem = new TreeFieldItem(new QuizMenuItem(key, Class.forName(value));
您需要确保值字符串是类的完全限定名称(包括包)。