如果我需要根據String返回一個Class實例(例如,從JSON創建邏輯),那麼應該如何寫?如何從Java中的字符串中獲取類引用?
我最初的想法是一個開關,但在Android框架的Java版本中,它看起來像switch語句不允許使用字符串。
接下來的想法是一個HashMap:
private HashMap<String, Class> classMap = new HashMap<String, Class>();
classMap.put("someClass", SomeClass.class)?
// ... etc
String someString = jsonObject.getString("someProperty");
Class classRef = classMap.get(someString);
SomeSuperClass classInstance = new classRef();
這是行不通的。我寧願不要if/else
下了很長的可能性列表。
沒有Java的版本允許帶有字符串的切換語句(Java 7除外,但每個人都知道這只是一個讓我們保持安靜的神話)。 – Tharwen