gpt4 book ai didi

java - 以编程方式计算值类型的大小

转载 作者:行者123 更新时间:2023-12-04 07:11:04 25 4
gpt4 key购买 nike

我正在为将 boolean 值打包成一个字节的方法编写单元测试。不同的位位置由枚举的值决定,目前只有 5 个值,但可以想象(尽管极不可能)这个数字可以达到 9。

我想要一个简单的测试:

私有(private)字节 m_myNum;
枚举 MyEnum {...}

断言(sizeof(m_myNum) <= MyEnum.values().length);

我的印象是 Java 中没有 sizeof 函数。最优雅的解决方法是什么?

- -编辑

我不认为我很清楚。我不关心正常的运行时间。我的问题是我现在可以用一个存储所有信息的字节来编写这段代码,但是随着枚举在代码的不相关部分中增长,我可能会达到我的位掩码代码中断的地步。我不想在已部署的应用程序中使用它,而是希望有一个单元测试在枚举中的状态数超过存储变量中的位数时失败,因此当程序员添加第九个枚举时,他们可以调整变量的类型为多于八位的东西。

最佳答案

我认为这个测试可以满足您的要求。获得比这更通用的内容可能是在浪费您的时间。

public void testEnumSizeLessThanOneByte() throws Exception 
{
assertTrue("MyEnum must have 8 or less values.",
MyEnum.values().length <= 8);
}

关于java - 以编程方式计算值类型的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/334951/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com