动态类投射

时间:2013-04-11 20:29:11

标签: java android casting

我在使用Android进行投射时遇到问题。

我正在开发一个处理多个设备的应用程序,我正在尝试进行动态类位置(即,用户根据用户设置设置设备和应用程序实例化)

以下是示例代码:

String Usr_imput; //name of the class
Class class = Class.forName(Usr_Input);
Object o = class.newInstance();

因为我无法访问Usr_Input类中的方法。方法class.cast(o)应该是我的问题的解决方案,但我不能让它工作,cast语句堆栈?

如果我使用的话,是不是可以工作:

class.cast(o);
o.Method();

任何人都有相关经验吗?

2 个答案:

答案 0 :(得分:0)

Usr_Input o = (Usr_Input)class.newInstance();

答案 1 :(得分:0)

来自java doc:

   cast
   public T cast(Object obj) 
   blahblah..

   Returns:
   the object after casting, or null if obj is null

从您的代码中,您没有捕获返回值。 class也不是一个好名字。检查上面的评论。

class.cast(o);
o.Method();
相关问题