相关疑难解决方法(0)

为什么Java API使用int而不是short或byte?

为什么Java API会使用int,何时short甚至byte是足够的?

示例:DAY_OF_WEEK类中的字段Calendar使用int.

如果差异太小,那么为什么存在这些数据类型(short,int)?

java optimization types java-api

134
推荐指数
5
解决办法
1万
查看次数

使用byte和int在Java中进行按位操作

我试图在java中做一些按位操作

我有2个数组:

byte[] bitArray;
final  byte [] bitMask = {1,2,4,8,16,32,64,-128};
Run Code Online (Sandbox Code Playgroud)

然后我尝试在|一个字节中的bitArray一个字节mask.

bitArray[i] = bitArray[i] | bitMask[j]
Run Code Online (Sandbox Code Playgroud)

问题是我遇到了编译器错误.

"错误可能丢失精度"找到int所需的字节

问题是如何解决它?

java bitwise-operators primitive-types

4
推荐指数
1
解决办法
8115
查看次数

为什么对字节的算术运算在 kotlin 中返回 int?

考虑这个代码:

val x1: Byte = 0x00
val x2: Byte = 0x01
val x3: Byte = x1 + x2;
Run Code Online (Sandbox Code Playgroud)

这会产生编译错误,因为添加 2 Bytes的结果是Int.

为了解决这个问题,我需要手动将结果转换回一个字节:

val x3: Byte = (x1 + x2).toByte()
Run Code Online (Sandbox Code Playgroud)

这是非常违反直觉的。为什么算术运算符会这样工作?

kotlin integer-arithmetic

3
推荐指数
1
解决办法
305
查看次数