-
Notifications
You must be signed in to change notification settings - Fork 23
List&Array支持情况
ray.zh edited this page Dec 2, 2023
·
5 revisions
实际项目使用中, 一般都不仅仅为一个对象的。 而且很多涉及到多个对象进行传递。 所以框架是支持 List & Array 来进行嵌套组合的。
如下类的定义:
@MagicClass(byteOrder = ByteOrder.BIG_ENDIAN) public class Teacher { @MagicField(order = 1) private int id; @MagicField(order = 3, size = 10) private String name; @MagicField(order = 5) private int phoneSize; @MagicField(order = 7, dynamicSizeOf = "phoneSize") private long[] phones; // setter getter }
框架关于集合的支持情况如下:
- 仅支持List&Array
- 不支持一维以上数组,如
int[][]或者List<List>容器嵌套 - 由于String本就不是定长,所以不支持
String[]和List<String> - 支持自定义的数据类型
- 不支持MAP
关于数组的最佳实践:
- 涉及到数组最好使用变长, 即协议中携带数组长度数据
- 如果不是动态数组, 则大小必须指定