Java-为什么method参数将float值视为double值?

Bal*_*ngh 5 java casting

我已经定义了一个带有一个float类型参数的方法,如下所示:

public float getValue(float value){

    return value;
}
Run Code Online (Sandbox Code Playgroud)

当我通过传递浮点值来调用此方法时,如下所示:10.1201:

float value =  methodReturnTest.getValue(10.1201);
Run Code Online (Sandbox Code Playgroud)

我的IDE说要将参数转换为float.我试过搜索但无法得到合适的答案.发布它.请解释 .

谢谢.

Vis*_*ram 11

Java的需要10.1201 作为double.为了传递一个float值,你应该f像这样追加它:

float value =  methodReturnTest.getValue(10.1201f);
Run Code Online (Sandbox Code Playgroud)

  • 或者你可以像getValue((float)12.36565)一样投射; (2认同)