我经常看到这个,
返回对象的方法,即
public Object getGroup(int groupPosition)
{
return groups.get(groupPosition);
}
然后当这个函数被调用时,返回的对象被强制转换为某个类,即
ExpandListGroup group = (ExpandListGroup) getGroup (groupPosition);
似乎是这样的情况,如果返回一个普通对象,你知道那个对象的类(TestClass)并且你想将一个预先声明的对象(X)设置为那个返回的对象(Y),你需要转换对应类的形式为..
TestClass X = (TestClass) returnsY();
这是正确的吗?将对象转换为类还有其他更深层的含义/后果吗?
干杯
最佳答案
所有引用都需要保存与引用或其子类型相同类型的对象。由于编译器只知道 getGroup
返回 Object
它不能让 Object 被分配给 TestClass
引用(对象可能没有实现所有方法TestClass有)。要解决该问题,您需要通过强制转换显式告诉编译器 getGroup
返回的对象也是 TestClass
类。
关于java - Android - 为什么要将对象转换为类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13913304/