Java:不能将MyClass分配给Object类型吗?

时间:2014-09-30 23:46:30

标签: java android class object assign

所以我正在做一个Android应用,我通过以下方式将一个标签添加到视图中:

view.setTag(1,myClass);

现在我希望通过这个获得该标记:

myClass = view.getTag(1);

但它说:

  

无法使用的类型

     

必需:MyClass

     

找到:java.lang.Object

是的,我之前宣布了myClass ......

那么,我怎样才能让MyClass能够从一个对象“创建”或“分配”?比如字符串和整数。

提前致谢。

2 个答案:

答案 0 :(得分:0)

简单地施展它。

myClass = (MyClass) view.getTag(1);

答案 1 :(得分:0)

您可以看到here getTag(int i)的返回类型为Object。一种选择是将返回的对象强制转换为您期望的类型。

Object obj = view.getTag(1);

if(obj instanceOf MyClass){
    MyClass myClass = (MyClass) obj;
}

但是,如果您只需要存储类类型,则以下内容会更有趣:

MyClass myInstance = new MyClass();

view.setTag(1, myInstance);

Class type = view.getTag(1).getClass();