也许这是我在学习 Java 基础知识时忽略的,但为什么下面的代码是合法的?
float foo(byte b) {
return b;
}
除了 char 和 boolean 之外,所有基本类型都允许使用它。
也许这是我在学习 Java 基础知识时忽略的,但为什么下面的代码是合法的?
float foo(byte b) {
return b;
}
除了 char 和 boolean 之外,所有基本类型都允许使用它。
除了 char 和 boolean 之外,所有基本类型都允许使用它。
对于布尔值 YES,但对于char
to float
- 是允许的。(编辑)根据您的评论,byte
to char
不在列表中且不允许。
你应该看到:5.1.2。扩大基元转换
原始类型的 19 种特定转换称为扩展原始类型转换:
- 字节到 short、int、long、float 或 double
- 短到 int、long、float 或 double
- char 到 int、long、float 或 double
- int 到 long、float 或 double
- 长时间浮动或加倍
- 浮动加倍
加宽基元转换不会丢失有关数值整体大小的信息。