【问题标题】:Java: Can't assign MyClass to Object type?Java:不能将 MyClass 分配给 Object 类型?
【发布时间】:2014-11-25 17:50:32
【问题描述】:

所以我正在做一个Android应用程序,并且我已经通过以下方式将a标签添加到视图中:

view.setTag(1,myClass);

现在我想通过这个来获取该标签:

myClass = view.getTag(1);

但它说:

不兼容的类型

必需:我的班级

找到:java.lang.Object

是的,我之前已经声明了 myClass...

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

提前致谢。

【问题讨论】:

  • 投吗? myClass = (MyClassType) view.getTag(1);

标签: java android class object assign


【解决方案1】:

如你所见heregetTag(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();

【讨论】:

  • 非常感谢!我什至不知道如何在不知道如何投射的情况下走到这一步。
【解决方案2】:

只需投射它。

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

【讨论】:

    猜你喜欢
    • 2021-06-08
    • 2022-12-08
    • 1970-01-01
    • 2023-02-18
    • 2017-04-10
    • 2023-01-25
    • 2021-09-30
    • 2022-08-18
    • 1970-01-01
    相关资源
    最近更新 更多