我的Android应用程序中有以下代码:

String objclassname = getIntent().getExtras().getString("ObjClass");

Class<?> ObjClass = Class.forName(objclassname);

dbListView.setAdapter(new DbAdapter<ObjClass>(getApplicationContext(),ds,campos));


但是它给出了错误,因为ObjClass不是Type。


String objclassname = getIntent().getExtras().getString("ObjClass");

Class<?> ObjClass = Class.forName(objclassname);

dbListView.setAdapter(new DbAdapter<ObjClass.getClass()>(getApplicationContext(),ds,campos));


也给出错误。

我不能使用泛型:How can i pass a generic class as param to Intent constructor

如何将类型转换为类型?

ps .:编辑得更清楚

最佳答案

您可以尝试这样的事情

String objclassname = getIntent().getExtras().getString("ObjClass");

Class<T> ObjClass = (Class<T>) Class.forName(objclassname);

dbListView.setAdapter(new DbAdapter<T>(getApplicationContext(),ds,campos));


但是您需要对方法进行参数化,例如

public <T> void doSomething (String className)

08-16 12:22