-
Notifications
You must be signed in to change notification settings - Fork 20
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
关于数组的最佳实践:
- 涉及到数组最好使用变长, 即协议中携带数组长度数据
- 如果不是动态数组, 则大小必须指定
若大家在使用过程中有疑问,可以参考右边的目录列表进行查询