gpt4 book ai didi

java - Java(字节)文字转换效率高吗?

转载 作者:行者123 更新时间:2023-12-02 07:28:24 26 4
gpt4 key购买 nike

好的,从 Java 6 开始,没有 y 文字后缀。考虑这段代码:

byte b = some_byte();
switch (b) {
case (byte) 0x80: ...
case (byte) 0x81: ...

还有这个替代方案:

int b = some_byte() & 0xff;
switch (b) {
case 0x80: ...
case 0x81: ...

你会用哪个?在第一种情况下,(字节)转换是在运行时还是编译时执行的?谢谢。

最佳答案

Which would you use?

可能是后者,只是为了简单起见 - 但带有注释来解释发生了什么。

In the first case, are (byte) casts performed during run time or compile time?

编译时。不要忘记 case 值无论如何都必须是编译时常量。

另一个选择是为这些东西创建常量: 私有(private)静态最终字节 FOO = (字节) 0x80; 私有(private)静态最终字节 BAR = (字节) 0x81;

...

switch (someByte()) {
case FOO:
case BAR:
...
}

除此之外,这使得这些值变得不那么“神奇”。

或者你甚至可以使用枚举...

关于java - Java(字节)文字转换效率高吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12055983/

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