java - 如何将枚举转换为字节数组?

标签 java arrays

有没有办法将枚举转换为字节数组?我目前正在使用 Hbase,在 HBase 中,所有内容都应该转换为字节数组以便持久保存,因此我需要将枚举值转换为字节数组:)

最佳答案

您可以创建一个简单的实用程序类来将枚举的名称转换为字节:

public class EnumUtils {
    public static byte[] toByteArray(Enum<?> e) {
        return e.name().getBytes();
    }
}

这与您的方法类似,但更干净(并且类型更安全,因为它仅适用于枚举)。

public enum Colours {
    RED, GREEN, BLUE;
}

public class EnumUtilsTest {
    @Test
    public void testToByteArray() {
        assertArrayEquals("RED".getBytes(), EnumUtils.toByteArray(Colours.RED));
    }
}

关于java - 如何将枚举转换为字节数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21108509/

相关文章:

java - 如何在 Java 中复制列大小未知的二维数组?

javascript - Php 相当于 Javascript 的 Array.from()

ios - 使用 UserDefaults 保存来自 plist 的字典数组

java - 如何在android中将文件路径转换为文件浏览 View

java - JSOUP 无法在某些网站上运行

java - java 在某一行停止读取文本文件

python - 如何创建行间等差的 Numpy 二维数组?

java - 改造错误 com.google.gson.JsonSyntaxException : java. lang.IllegalStateException:应为 BEGIN_OBJECT 但在第 1 行第 1 列路径 $

java - AssertEquals(String, String) 内容相同时比较失败

C qsort 不对多维数组中的最后一项进行排序