我有一个字节数组和一个对象引用。
byte[] data = new byte[128];
Block b = new Block();
我想将引用 b 存储在“数据”数组的最后 2 个(或 4 个)字节中。
请注意:我不想序列化对象并存储在字节数组中。我需要存储一个引用新块的指针(引用)。
编辑
我的 Block 类如下
public class Block {
byte[] data ;
public Block(){
data = new byte[128];
}
}
基本上,数据数组将使用 126 字节来存储字符串,最后两个(或 4)字节来存储对另一个块的引用。它的一种链接列表。
我可以使用 Block 类的不同定义来完成它[通过在类本身中包含对 Block 的引用]。但是问题陈述指出了只有最后 2 个字节应该用作对另一个块的引用的约束。从其他帖子我知道在 jvm(32 位)中,引用的大小为 4 个字节。因此我认为只能使用最后 4 个字节来完成
问题陈述的片段
该块的最后 2 个字节用于指向下一个块。假设文件大小为 8 个块,那么第 4 个块的最后 2 个字节将指向第 5 个块,第 5 个块的最后 2 个字节指向第 6 个块,依此类推。