java - 如何将 double 据转换为字节数组,以及如何检查其输出数据是否已正确转换

标签 java arrays openflow

<分区>

使用以下代码将 Flow_Rate 从“ double ”转换为字节数组,我收到了输出:[B@6a2b8b42

如何检查输出是否正确?

private double Flow_Rate= 8;   

OFVendor of_vendor = new OFVendor(); 
byte [] rate = ByteBuffer.allocate(8).putDouble(Flow_Rate).array(); 
of_vendor.setData(rate);  

Logger.stderr("ZB---->> ClientChannelWatcher::handleConnectedEvent OFVendor setData() : "+rate);

最佳答案

我假设您的目标是将 double 的“位”放入二进制缓冲区。

如果是这样,您最好的选择可能是使用 ByteBuffer

import java.nio.ByteBuffer;
...

private double Flow_Rate= 8.0; 
...

byte[] rate_buffer = new byte[8];
ByteBuffer.wrap(rate_buffer).putDouble(Flow_Rate); 
... 

附言: [B@6a2b8b42 是任何对象的打印方式 - 它与字节数组的内容没有直接关系。

关于java - 如何将 double 据转换为字节数组,以及如何检查其输出数据是否已正确转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24120050/

相关文章:

java - 转换为条件查询

javascript - 控制台登录的对象长度为0但不为空

linux - 将 open vswitch 连接到两个虚拟机

java - 在后台服务android上拍照(Camera和Camera2)

java - 如何读取 log4j 输出到网页?

javascript - 无法使用 Javascript 根据键名合并两个不同的数组

arrays - 如何使用掩码加速 numpy 点积?

python - 将自定义开关类传递给 Mininet 拓扑

java - 从数据库加载 Spring PropertyPlaceholderConfigurer