在Java中创建消息结构的最佳方法是什么?

Art*_*ans 5 java data-structures

例如,如果我给出了类似于下面的消息结构的要求:

  • 标头28字节
    • 消费者2字节
    • 输入4个字节
    • ...
  • 有效载荷64字节

Java中是否有任何库可以更快地完成它?

或者我必须手动创建它作为一个单独的类与字节数组和setter/getters?

jar*_*bjo 3

您可能可以受益于 ByteBuffer 类中的实用方法,而不是直接处理字节数组。您将找到获取和设置多字节整数的方法(例如 getShort、putInt、putLong),并且还可以控制字节顺序(大端或小端)。

然后,您可以使用有意义的方法名称将 ByteBuffer 包装在另一个类中,例如:

int getType() {
  return bb.getInt(2); // offset 2
}

void setType(int type) {
  bb.putInt(2, type);
}
Run Code Online (Sandbox Code Playgroud)