我必须将java对象强制转换为子类,因为需要在子类中可用的方法上设置指示符然后我将在List中设置超类对象。
我是否需要在两者之间做任何事情或在类型转换后设置的指标反映当我从列表中取出对象时?
MemRow是超类,MemAttrRow是具有新属性recstat的子类; 代码如下:
MemRow memRow;
List<MemRow> memRwList;//where the superclass will get added
// type cast to subclass memAttrRow and set the recstat
MemAttrRow memAttrRow = (MemAttrRow) memRow;
String ind= "A";
memAttrRow.setRecStat(ind);
//add superclass to the list
memRwList.addRow(memRow);
答案 0 :(得分:1)
您不需要做任何其他事情。假设memRow
实际上是MemAttrRow
的实例,当您设置其属性时,它将在操作期间保留,例如将对象添加到列表中。
但是,值得一提的是,在输入对象之前,您需要确保对象的实际(运行时)类型为MemAttrRow
,否则您可以获得ClassCastException
。