关于JAVA5的可变参数
2009-08-26 16:28
316 查看
最近在项目中遇到个小问题, 有个查询操作的定义如下:
其中String[]...s是可变参数,我在程序中调用这个方法的代码如下:
如果这个d是空值,在foo()中会自行判断,d是之前已经定义好的String 数组
但是在另外一个地方这样调用的时候:
foo(a,b,null) ;
就会抛出 NoSuchMethod 异常 ; 我的本意是将null值作为第三个参数传入,但是程序好像将它当作了第四个可变参数,后来将null 改为new Ojcet() , 恢复正常。
引起这样的原因是什么,目前还不太清楚。。。。
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() , 恢复正常。
引起这样的原因是什么,目前还不太清楚。。。。
相关文章推荐
- 关于可变参数列表
- 关于c中可变参数的一点学习
- 彤姐的程序篇(四)关于支持可变参数的函数.
- [问题记录]Java关于可变参数重载问题的测试
- 关于Python中的参数定义及可变参数
- C#关于params的用法(使用数量可变的参数)
- 关于python函数的可变参数和关键词参数
- 关于可变参数的函数定义方法 [曾经微软的面试题]
- java5新特性之方法的可变参数
- 关于python中*args,**kwargs的可变参数
- 关于可变参数中需要用到的宏va_start,va_arg,va_end
- 关于C中可变参数的记录
- 关于可变长参数的不解
- C#关于params的用法(使用数量可变的参数)
- 关于GCC和C99中可变参数宏
- 关于printk可变参数
- 关于可变参数
- 关于可变参数的函数
- Java中关于可变长参数的那些事