Java 自动装箱-编程概念
第3行和第4行都有一个包装类,编译器执行Java 自动装箱-编程概念,java,autoboxing,Java,Autoboxing,第3行和第4行都有一个包装类,编译器执行autoboxing将1转换为Character,但编译器无法将相同的1转换为Float。为什么?浮点数您需要在数字的末尾附加“f”或“f”,就像这样Float f=1f或浮点f=1F 这是因为默认情况下,它将是一个双精度。您需要在浮点数后加上F或F使其成为float。例:Float f=1f : 如果浮点文字的后缀为ASCII字母F或F,则它的类型为float;否则,其类型为双精度,并且可以选择使用ASCII字母D或D作为后缀(§4.2.3) 这并不能回
autoboxing
将1
转换为Character
,但编译器无法将相同的1
转换为Float
。为什么?浮点数您需要在数字的末尾附加“f
”或“f
”,就像这样Float f=1f代码>或浮点f=1F
这是因为默认情况下,它将是一个双精度
。您需要在浮点数后加上F
或F
使其成为float
。例:Float f=1f代码>
:
如果浮点文字的后缀为ASCII字母F或F,则它的类型为float;否则,其类型为双精度,并且可以选择使用ASCII字母D或D作为后缀(§4.2.3)
这并不能回答为什么int不能加宽为float。而int可以缩小到char。试试这个:characters=Character.valueOf(1);浮点数f=浮点数。数值f(1);
1. public static void main(String[] args)
2. {
3. Character s=1;
4. Float f=1;
5. }