【发布时间】:2015-06-01 12:29:38
【问题描述】:
public class Test
{
public static void printValue(int i, int j, int k)
{
System.out.println("int");
}
public static void printValue(byte...b)
{
System.out.println("long");
}
public static void main(String... args)
{
byte b = 9;
printValue(b,b,b);
}
}
上述代码的输出是“int”。但它应该是“长”的,因为字节类型参数函数已经存在。但是这里程序将字节值提升为int,但事实并非如此。
请有人解释一下这里发生了什么?
【问题讨论】:
-
请阅读有关在帖子中包含代码的文档,并在发布之前使用预览检查它是否合理。
标签: java overloading variadic-functions