在CORBA中代表一个空的java.lang.Double吗?

| 假设我有一个空的java.lang.Double(对象)要通过CORBA传递。 CORBA不接受双基本类型的null,因此我必须将其映射到另一个双(基本)值。 我应该使用的最佳价值是什么? 谢谢!     
已邀请:
这是一个很难回答的问题,尤其是如果所有双精度值对于此变量将表示的内容均有效时。 最好的选择是选择Double.MIN_VALUE或一些很可能不会使用的值。 但是,您需要确保此值在与CORBA交互的其他语言/硬件中也可以表示。     
CORBA值类型支持null;请参阅CORBA 3.1规范第1部分的第9章-http://www.omg.org/spec/CORBA/3.1/Interfaces/PDF/ 我认为以下IDL语法将定义一个可以表示
double
null
的装箱值类型。
valuetype Double double;
如果您无法更改IDL并且当前IDL不允许您发送“ 1”值,则应将null视为错误,而不要尝试发送。从
double
值集中窃取合法值(例如
Double.MAX_VALUE
)来代表
null
就是在问问题: 有一天可能需要发送“ 4”作为数据。 使用此接口的其他现有软件可能不了解您的约定,并且可能将“ 4”作为其字面本身来处理。     

要回复问题请先登录注册