java - 重复类型转换

标签 java casting corba

我的同事问了我一个我自己找不到最终答案的问题,这个问题是关于对象转换的。

假设我有一个类A,和一个工厂类,在工厂类中,我想创建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.CO‌​RBA_2_5.ORB)(orb);

最佳答案

那个重复是完全多余的。您只需施放一次。

这是一个练习。如果您将其加载到 IDE 中,并逐一删除强制转换,那么它什么时候开始提示您的类型?

事实上,在您修改后的问题中,您根本不必进行强制转换!

org.omg.CORBA_2_5.ORB orb = ((org.omg.CORBA_2_5.ORB)org.omg.CORBA.ORB.init((String[])localObject2, localProperties));

您已在赋值中声明了 orb 的类型。

关于java - 重复类型转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12580859/

相关文章:

java - 在使用 System.currentTimeMillis() 的方法中返回 long

java - CORBA 的 Spring 批处理机制

java - CORBA 客户端/服务器应用程序,从服务器获取信息(空值)

java - 在 intelliJ 项目中集成 Kotlinx 协程

java - 从字符串中提取数字并保留空格

java - 如何使用 Java SDK 访问受 IAM 角色保护的 S3 存储桶?

c++ - 这个 Actor 分配了什么? C风格选角

c# - 将类转换为其具有泛型类型的接口(interface)时出错(同时将泛型类型转换为其基类)

java - org.apache.xerces.jaxp.DocumentBuilderImpl 行尾缺少 CR

java - CORBA IDL HashMap