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