我们如何在java中创建自己的数据类型?

时间:2017-08-02 14:21:43

标签: java

我有一个要求,我必须创建自己的数据类型,我应该为数据类型分配一些字节 示例:

数据类型A:应该有1个字节的内存
数据类型B:应该有2个字节的内存
数据类型C:应该有7个字节的记忆等。

我们有什么办法可以定义自己的数据类型并为它们分配一些内存吗?

4 个答案:

答案 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; 
}