use*_*212 2 java casting wrapper
看看这个......今天晚上,当我发现时,我试图将一些原始信息投给包装纸:
Integer i = (Integer)4;
Integer i = (Integer)4f; // Doesn't compile!
Run Code Online (Sandbox Code Playgroud)
但如果我重写第二行:
Integer i2 = (int)4f; // Then it compiles
Run Code Online (Sandbox Code Playgroud)
有什么不同?为什么我能在第一种情况下使用包装类进行强制转换,而不是在第二种情况下进行转换?
这里
Integer i = (Integer)4f;
Run Code Online (Sandbox Code Playgroud)
你将一个浮动原语转换为Integer包装器 - 它们不合适.这与自动装箱无关.即使有明确的拳击,这仍然不会编译:
Integer i = (Integer)(Double.valueOf(4f));
Run Code Online (Sandbox Code Playgroud)
在这里:
Integer i2 = (int)4f;
Run Code Online (Sandbox Code Playgroud)
你将一个浮动基元转换为一个int基元(在过程中截断),然后java自动将它们转换为整数
归档时间: |
|
查看次数: |
55 次 |
最近记录: |