gpt4 book ai didi

Java:测试未初始化的字节

转载 作者:行者123 更新时间:2023-12-01 23:05:08 25 4
gpt4 key购买 nike

如何在 Java 中测试未初始化的字节

这不起作用:

byte b;

if (b != null) {
// Do something
}

最佳答案

不存在“未初始化 byte”这样的东西,因为编译器不允许您编写使用未初始化值的代码(注意:未显式分配值的字段会自动 初始化为 0/false/null)。

您有几个选择。

您可以使用包装类型,可以是 null ,例如:

Byte b = null;

if (b != null) {
...
}

您可以使用特殊值,但必须确保它不与有意义的值重叠:

byte b = -1;

if (b != -1) {
...
}

您可以执行上述操作的变体,但使用更大的类型(例如 InputStream.read() 表示 EOF),以便“神奇”值不能位于有效范围:

int b = -1;

if (b != -1) {
// then b is in [0, 255] (unsigned byte in this example)
...
}

您可以存储第二个标志来指示初始化状态:

boolean bInitialized = false; 
byte b = 0; // arbitrary

if (bInitialized) {
...
}

您还可以重新设计您的应用程序逻辑,以避免首先进行此测试,说实话,如果可能的话,这是我推荐的解决方案。

关于Java:测试未初始化的字节,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22903324/

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