java对象转成byte数组的3种方法-创新互联
                                            java对象转成byte数组,在使用netty进行通信协议传输的场景中是非常常见的。比如,协议有一些定好的协议头、classid,messageid等等信息,还有一个关键的内容是payload。不同的协议内容都会放到payload中,而这个payload往往就是一个byte数组。

那么,如何方便的将一个java对象构造成一个byte数组呢?
1 bytebuf填充
我们以下面这个对象举例:
public class UgvData implements Serializible{
 private static final long serialVersionUID = -219988432063763456L;
 //状态码
 byte status;
 //当前GPS经度
 float longitude;
 //当前GPS纬度
 float latitude;
 //行驶速度 单位是 m/s,带一个小数点
 float speed;
 //当前电量百分比
 short batteryPercentage;
 //任务编号
 long quest;
 public byte[] toByteArray() {
  ByteBuf buf = Unpooled.buffer(32);
  buf.writeByte(this.getStatus());
  buf.writeFloat(getLongitude());
  buf.writeFloat(getLatitude());
  buf.writeFloat(getSpeed());
  buf.writeShort(getBatteryPercentage());
  buf.writeLong(getQuest());
  return buf.array();
 }
 //省略get set
}                                                当前文章:java对象转成byte数组的3种方法-创新互联
文章源于:http://www.scyingshan.cn/article/dhogee.html

 建站
建站
 咨询
咨询 售后
售后
 建站咨询
建站咨询 
 