这似乎是一个愚蠢的问题,但我找不到答案,或者至少我不知道如何在谷歌上制定它。
当我们在 Java 中添加两个字节时,结果是一个 int。
但是两个 long 或者一个 long 和一个 int 呢?double 和 float 的问题相同。我在所有这些转换之间有点迷失了。
这似乎是一个愚蠢的问题,但我找不到答案,或者至少我不知道如何在谷歌上制定它。
当我们在 Java 中添加两个字节时,结果是一个 int。
但是两个 long 或者一个 long 和一个 int 呢?double 和 float 的问题相同。我在所有这些转换之间有点迷失了。
一个long
。这受§5.6.2 Binary Numeric Promotion,第 2 项的约束:
double
,则将另一个转换为double
。float
,则将另一个转换为float
。long
,则将另一个转换为long
。int
。由于最后一条规则,您int
在添加两个 s 时会得到一个。byte