如何解决在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”作为其字面本身来处理。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。