Pip*_*ppo 8 java parameter-passing implicit-conversion
在Java中,假设我们有一个带参数的函数double a.如果我传递一个整数作为参数,它是否有效?(我的意思是,是否存在隐式转换?)在相反的情况下:如果我有一个整数作为参数,我传递一个double?
不幸的是,我目前无法编译我的代码,我想检查这个断言.感谢您的关注.
Roh*_*ain 13
有关详细信息,请参阅JLS - 第5.3节Method Invocation Conversion.
方法调用上下文允许使用以下之一:
Run Code Online (Sandbox Code Playgroud)- an identity conversion (§5.1.1) - a widening primitive conversion (§5.1.2) - a widening reference conversion (§5.1.5) - a boxing conversion (§5.1.7) optionally followed by widening reference conversion - an unboxing conversion (§5.1.8) optionally followed by a widening primitive conversion.
因此,根据规则#2,您的第一次调用(intto double)将正常工作.
但根据同一部分中引用的声明,第二次调用(doubleto int)将给出编译器错误: -
如果表达式的类型无法通过方法调用上下文中允许的转换转换为参数的类型,则会发生编译时错误.
| 归档时间: |
|
| 查看次数: |
7894 次 |
| 最近记录: |