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种方法-创新互联
URL标题:https://www.cdcxhl.com/article44/dhogee.html

成都网站建设公司_创新互联,为您提供ChatGPT网页设计公司网站内链移动网站建设面包屑导航域名注册

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

成都网站建设公司