将对象转化为帧(tcp协议传输的byte数组).根据字节序和字节数 通用方法

本文介绍了如何实现一个通用方法,将带有特定注解的对象转换为TCP协议传输所需的byte数组。注解用于定义层级和顺序,支持多层继承和字段排序。示例展示了转换过程,并提供了基础功能的代码实现,适用于处理包含多个字段的类。目前为v1.0,可能存在bug,欢迎指导改进。
摘要由CSDN通过智能技术生成

最近做一个将对象转换成tcp数据的功能,将对象按一定规律(字节序以及字节数)转换为byte数组,可以分类去解析,但是太麻烦了,代码冗长.决定采取使用一个通用的方法去实现对象转数组的功能

数据类似这种格式
这里写图片描述

TcpTransfer
transfer object (with annotation ) to tcp byte array
将带有注解的对象转换为tcp协议传输的byte数组

@Retention(RetentionPolicy.RUNTIME){
int order();
int level(); 
int size();
}

注解意义: level为层级,默认为最高3级,
继承的时候父类level为1,子类为2,子子类为3.
order为当前层级顺序,1为最优先,-1为优先级最低 顺序算法为低层级包裹高层级,
解析A类,假如A类继承自B,那么B类的order为正的字段按升序排列,再迭代考虑A类.再考虑B类Order为负字段,-1为最后,-2为倒数第二.
支持一个类最多约100个字段
size为此int转换为的字节数

对于下面示例:

@Data 
public class BasePersonBean {

@EncodeOrderAttribute(level = 1, order = 1, size = 1)
private Integer age;

@EncodeOrderAttribute(level = 1, or
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值