是否可以在Java中使用类似struct的结构?
我正在考虑将Java用于大型项目,但是我找不到能够在Java中远程表示结构的任何东西。我需要能够将网络数据包转换为可在应用程序中使用的结构/类。
我知道这是可以使用RandomAccessFile
,但这种方式是
接受的。因此,我很好奇是否可以像在C语言中那样将一组字节“广播”到一个结构中。如果这不可能,那么我将无法使用Java。
因此,我要问的问题是,是否有可能无需指定对齐方式和数据类型就将任何类型的对齐数据都转换为类?
回答:
您基本上是在问是否可以使用另一种语言的特定于C的解决方案来解决问题。答案是可以预见的,“不”。
但是,完全有可能构造一个类,该类在其构造函数中使用一组字节并构造一个适当的实例。
class Foo { int someField;
String anotherField;
public Foo(byte[] bytes) {
someField = someFieldFromBytes(bytes);
anotherField = anotherFieldFromBytes(bytes);
etc.
}
}
您可以确保类实例到字节数组的一对一映射。添加toBytes()方法以将实例序列化为字节。
以上是 是否可以在Java中使用类似struct的结构? 的全部内容, 来源链接: utcz.com/qa/421645.html