这似乎是一个愚蠢的问题,但我找不到答案,或者至少我不知道如何在Google上制定它。
当我们在Java中添加两个字节时,结果是一个int。
但是两个long,还是long和int呢?对于double和float也是同样的问题。我在所有这些转换中都有点迷失。
答案 0 :(得分:16)
A long
。这取决于§5.6.2 Binary Numeric Promotion,第2项:
double
,则另一个操作数将转换为double
。float
,则另一个操作数将转换为float
。long
,则另一个操作数将转换为long
。int
类型。由于最后一条规则,在添加两个int
时会收到byte
。