为什么我们在java中需要更小的整数类型,如果它最终会被类型转换为int?

问题描述 投票:0回答:1

根据Java中的类型转换规则之一:

如果表达式仅包含整型文字和/或变量,最多为

int
类型(含),则表达式的结果将为 int。换句话说,即使表达式没有 int 类型的变量,表达式的结果也将是 int。

如果

byte/short
数据类型被类型转换为
int
。使用它们有什么意义?

我尝试用谷歌搜索这个问题。但由于我的英语不好,我找不到答案。

java
1个回答
0
投票

归根结底,您可能是对的,但这种实施“细节”背后有一些很好的理由:

  • 正如 @Stephen C 所指出的,每种类型分配的字节数各不相同(至少在它们被强制/提升为“更大”类型之前);
  • 使用
    byte
    short
    明确表示该变量只能保存特定范围内的值(即分别为 -128 到 127 和 -32768 到 32767)。
© www.soinside.com 2019 - 2024. All rights reserved.