假设我有一个null java.lang.Double(object)来传递CORBA。 CORBA不接受双原语类型的null,所以我必须将它映射到另一个双(原始)值。
我应该使用的最佳价值是什么?
谢谢!
答案 0 :(得分:2)
这是一个很难回答的问题,特别是如果所有双重值对此变量所代表的任何内容都有效。
最好的选择是选择Double.MIN_VALUE或一些很可能不会被使用的值。
但是,您需要确保此值也可以在将与CORBA连接的其他语言/硬件中表示。
答案 1 :(得分:1)
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不允许您发送null
值,那么您应该将null视为错误而不是尝试发送它。从Double.MAX_VALUE
值集中窃取合法值(例如double
)代表null
,这就是问题:
Double.MAX_VALUE
作为数据。Double.MAX_VALUE
作为其文字自我处理。