【发布时间】:2012-09-25 10:17:04
【问题描述】:
我的同事问了我一个我自己找不到最终答案的问题,这个问题是关于对象投射的。
假设我有一个A类,还有一个Factory类,在工厂类中,我要创建A实例:
Public class Factory {
public A createA1() {
Object instance = get_A_Object();
//Single casting
return (A) instance;
}
public A createA2() {
Object instance = get_A_Object();
// Duplicate casting or more
return (A) (A) instance;
}
}
我的问题是:
方法 createA1() 中的单次转换与方法 createA2() 中的重复转换有什么区别?他们总是得到相同的结果吗?
编辑:
为了澄清,我的同事问我这行代码:
org.omg.CORBA_2_5.ORB orb = ((org.omg.CORBA_2_5.ORB)org.omg.CORBA.ORB.init((String[])localObject2, localProperties));
return (org.omg.CORBA_2_5.ORB)(org.omg.CORBA_2_5.ORB)(org.omg.CORBA_2_5.ORB)(org.omg.CORBA_2_5.ORB)(orb);
【问题讨论】: