public class HelloWorld
{
public void m1(int i)
{
System.out.println("int-arg");
}
public void m1(byte j)
{
System.out.println("byte-arg");
}
public static void main(String []args)
{
HelloWorld n=new HelloWorld();
n.m1(12);
}
}
O / P:int-arg
问题: 12也是int类型和字节类型。所以在这种情况下,int是每次完全匹配。那么如果我想调用m1(byte)方法,我应该提供什么值? 感谢。
答案 0 :(得分:1)
您可以使用类型声明它或将其强制转换
byte b = 12;
n.m1(b);
或演员
n.m1((byte)b);
答案 1 :(得分:1)
正如其他人所说,你需要施展它。
在Java中,普通数字(例如:12)默认为int,如果数字有小数(例如:12.0),则默认为 float double类型(谢谢@Sushil为更正)。有一些后缀强制某些类型,但不适用于所有类型(例如:12L很长,12.0f是浮点数)。
答案 2 :(得分:0)
您需要在传递值之前进行强制转换。
n.m1((byte)12);