在 Java 中,我可以用 float 和 int 重载吗

In Java can I overload with float and int

如果我想要一个方法

void mymethod(float val) {}

还有一个

void mymethod (int val) {}

那么当我调用 mymethod (1.2) 时它会正确检测到第一个是正确的调用吗?

mymethod(1.2) 将查找 mymethod(double d) 方法,因为内联数值的文字 1.2 默认存储在 double 中。

你应该写:mymethod(1.2F)

在这种情况下,重载将起作用并调用 mymethod(float val)

重载允许使用相同的名称但使用不同的参数来命名多个方法。在编译时,编译器选择匹配有效参数的方法。

在您的情况下,mymethod() 方法重载,因为 :

 void mymethod(float val) {}
 void mymethod(int val) {}