Thi*_*hbk 2 java casting corba
我的同事问我一个我自己找不到最终答案的问题,问题是关于对象投射.
假设我有一个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;
}
}
Run Code Online (Sandbox Code Playgroud)
我的问题是:
方法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.CO??RBA_2_5.ORB)(orb);
Run Code Online (Sandbox Code Playgroud)
这个副本完全是多余的.你只需要施放一次.
这是一个练习.如果你在IDE中加载它,并逐个删除强制转换,它在什么时候开始抱怨你的类型?
事实上,在你修改过的问题中,你根本不需要施放!
org.omg.CORBA_2_5.ORB orb = ((org.omg.CORBA_2_5.ORB)org.omg.CORBA.ORB.init((String[])localObject2, localProperties));
Run Code Online (Sandbox Code Playgroud)
你已orb在作业中声明了类型.
| 归档时间: |
|
| 查看次数: |
501 次 |
| 最近记录: |