我有一个要求,我必须创建自己的数据类型,我应该为数据类型分配一些字节 示例:
数据类型A:应该有1个字节的内存
数据类型B:应该有2个字节的内存
数据类型C:应该有7个字节的记忆等。
我们有什么办法可以定义自己的数据类型并为它们分配一些内存吗?
答案 0 :(得分:3)
有一些"选项"在Java中表达类型,即:接口,类和枚举。
从这个意义上说,最佳匹配是一个类,如:
public class TwoByteHolder {
public final byte[] data = new byte[2];
}
该类的对象允许您准确存储2个字节;下一个"级别"可能是这样的:
public class ByteHolder {
public final byte[] data;
public ByteHolder(int numberOfBytes) {
data = new byte[ numberOfBytes ];
}
...
但当然:内存开销会很大 - Java并不是处理这些需求的最佳语言。
答案 1 :(得分:1)
Java中唯一可用的用户定义类型是类(包括枚举),您无法直接控制它们的大小。类实例有许多字节的开销,你无法避免。
答案 2 :(得分:1)
您可以创建一个具有特定字段的新类。如果您需要精确的字段大小,则可以使用字节数组。
class Data {
public byte[] dataA = new byte[1];
public byte[] dataB = new byte[2];
public byte[] dataC = new byte[7];
...
}
答案 3 :(得分:0)
您无法在java中创建数据类型,但您可以创建对象类,如下所示:
Class A {
public byte[] bytes;
}