关于java 可变参数的问题,The method max(int[]) is ambiguous for the type test 20

publicclasstest{publicstaticintmax(int...a){return0;}publicstaticintmax(long...a){ret... public class test {
public static int max(int... a)
{
return 0;
}

public static int max(long... a)
{
return 0;
}

public static void main(String[] s)
{
test.max(1,2);
}
}
代码里 max(int... a) 与max(long... a)重载,但调用的时候报
The method max(int[]) is ambiguous for the type test
各位有没有遇到过这种问题
展开
 我来答
般若兮若
2012-10-28 · TA获得超过2706个赞
知道小有建树答主
回答量:1246
采纳率:0%
帮助的人:934万
展开全部
问题不在这.是test.max(1,2);这句造成的.原因是对 max 的引用不明确,test 中的 方法 max(int...) 和 test 中的 方法 max(long...) 都匹配test.max(1,2);
你改成test.max(1L,2);就不会报错了,因为确定是引用的long类型的了.
上善若酒NO1
2012-10-28 · 超过26用户采纳过TA的回答
知道答主
回答量:72
采纳率:0%
帮助的人:46.9万
展开全部
错误提示是含糊不清,你的
public static int max(long a){
return 0;

}
方法有问题,声明返回值参数为int型,参数列表里的是long类型,return的也是int型,传参就会出问题。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式