繁体   English   中英

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

[英]Representing a null java.lang.Double in CORBA?

假设我有一个空的java.lang.Double(对象)要通过CORBA传递。 CORBA不接受双基本类型的null,因此我必须将其映射到另一个双(基本)值。

我应该使用的最佳价值是什么?

谢谢!

这是一个很难回答的问题,尤其是如果所有双精度值对于此变量将表示的内容均有效时。

最好的选择是选择Double.MIN_VALUE或一些很可能不会使用的值。

但是,您需要确保此值在与CORBA交互的其他语言/硬件中也可以表示。

CORBA值类型支持null; 看到CORBA 3.1规范部分的第9章1 - http://www.omg.org/spec/CORBA/3.1/Interfaces/PDF/

我认为以下IDL语法将定义一个可以表示doublenull的装箱值类型。

valuetype Double double;

如果您不能更改IDL并且当前的IDL不允许您发送null值,那么您应该将空值视为错误,而不要尝试发送它。 double Double.MAX_VALUE值集中窃取合法值(例如Double.MAX_VALUE )以表示null表示问题:

  • 有一天可能需要发送Double.MAX_VALUE作为数据。
  • 使用此接口的其他现有软件可能不了解您的约定,并且可能将Double.MAX_VALUE作为其字面本身进行处理。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM