gpt4 book ai didi

java - 将java类字段直接转换为字节数组

转载 作者:行者123 更新时间:2023-11-29 08:47:48 25 4
gpt4 key购买 nike

让我上一堂简单的课

public class A
{
public int a;
public int b;
public byte c;
public byte d;
public B e;
public C f;
public byte[] g = new byte[5];
}

有没有办法不用手工将其转换为字节数组?结果数组中需要相同顺序的字段,字节数组中不允许有其他信息,只有字段值。

最佳答案

如果您喜欢使用反射,则无法保证检索字段的顺序。

所以你可以使用两种方法:

  • 对字段进行 lexycally 排序
  • 使用序列化中该字段的顺序为每个字段添加注释

请注意,对于数组序列化,您必须知道数组的长度或使用定界符来表示数组的结尾。在您示例的简单情况下,不需要这样做,因为您只有 1 个数组。如果您有多个可变长度变量(例如字符串或数组),则很有必要。

如果您需要在您的代码和外部代码之间共享这些数据,您必须确保您的序列化过程与外部程序的序列化过程相同。例如,它意味着知道 int 是否表示为 BigEndian

关于java - 将java类字段直接转换为字节数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24238830/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com