JAVA方法声明中参数的那三个小数点
2016-03-26 22:00
465 查看
原创文章,转载请注明。
我们看如下一个方法的声明。
参数中那三个小数点代表什么意思呢?这代表方法自动重载。也就是我们如下的代码都是合法的。
这就问题来了,如果我们的参数本身就是一个数组,怎么办?如下代码:
可见,如果传入的是数组,则Java默认就不再去转换Object数组了,也就会造成参数错误。
解决办法就是,再初始化一个Object[]数组,传入函数,如下代码所示:
我们看如下一个方法的声明。
public static void tst( Object... initargs){ System.out.println(initargs.length); System.out.println(initargs[0]); }
参数中那三个小数点代表什么意思呢?这代表方法自动重载。也就是我们如下的代码都是合法的。
tst();//0,报异常 tst(1);//1,1 tst(1,2);//2,1 tst(1,2,3);//3,1其实现原理为自动地将initargs转换为一个Object[ ]数组。
这就问题来了,如果我们的参数本身就是一个数组,怎么办?如下代码:
String[] strArr = new String[2]; strArr[0]="a"; strArr[1]="b"; tst(strArr);//2,a
可见,如果传入的是数组,则Java默认就不再去转换Object数组了,也就会造成参数错误。
解决办法就是,再初始化一个Object[]数组,传入函数,如下代码所示:
String[] strArr = new String[2]; strArr[0]="a"; strArr[1]="b"; Object[] args = new Object[1]; args[0]=strArr; tst(args);//1,{“a”,"b"}
相关文章推荐
- 20145311 《Java程序设计》第4周学习总结
- struts2类型转化器
- 第一章 第一个spring boot程序
- JAVA大数处理(BigInteger,BigDecimal)
- spring
- java 多线程
- 《JAVA笔记 day08 静态_单例》
- windows配置Java环境
- java foreach 以及collections 排序
- 感知哈希算法Java实现
- Jbinding 大文件 解压缩7z文件 含password
- 为什么java反射比较慢
- 数组翻转的方法(java实现)
- 码农小汪-struts2学习9-json数据的返回
- SpringMVC 基于注解的Controller详解
- java 复杂链表的复制
- java中子类与父类的同名变量覆盖问题
- 20145229吴姗珊 《Java程序设计》第4周学习总结
- MyEclipse或Eclipse安装aptana插件
- [024] 11大Java开源中文分词器的使用方法和分词效果对比