您的位置:首页 > 编程语言 > Java开发

关于JAVA5的可变参数

2009-08-26 16:28 316 查看
最近在项目中遇到个小问题, 有个查询操作的定义如下:

public void foo(int x,String y,Obj o,String[]...s){
if(s!=null){
// do something
}
else{
//do someother
}
}


其中String[]...s是可变参数,我在程序中调用这个方法的代码如下:

foo(a,b,c,d);//假定参数类型都匹配


如果这个d是空值,在foo()中会自行判断,d是之前已经定义好的String 数组

但是在另外一个地方这样调用的时候:

foo(a,b,null) ;

就会抛出 NoSuchMethod 异常 ; 我的本意是将null值作为第三个参数传入,但是程序好像将它当作了第四个可变参数,后来将null 改为new Ojcet() , 恢复正常。

引起这样的原因是什么,目前还不太清楚。。。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: