记录了 java 可变参数方法不支持多个可变参数以及多种类型的替代方法。
java 可变参数方法的实现
关于 java 可变参数方法的实现,阅读了一下两篇博客:
java中可变参数方法:http://blog.csdn.net/u012116457/article/details/45114861
Java 可变参数:http://www.cnblogs.com/whgw/archive/2011/10/01/2197103.html
总结出 java 可变参数方法具有一下特性:
1)只能出现在参数列表的最后;
2)“…”位于变量类型和变量名之间,前后有无空格都可以;
3)可变参数可以兼容数组参数,但数组参数无法兼容可变参数;
4)可变参数可以为空参;
5)可以直接在可变参数中写入参数,参数间用逗号隔开;
6)也可以在可变参数中传入一个数组;
7)拥有可变参数的方法可以被重载,在被调用时,如果能匹配到参数定长的方法则优先调用参数定长的方法。
替代方法
可以看出 java 可变参数方法并不能支持多个可变参数或者多种可变类型参数,咋一看感觉多少有点遗憾,竟然连这么基本的功能都没有。其实,并不是 java 本身做不到,而是不需要这样做。因为,灵活的使用 java 的重载功能可以轻松实现同样的功能。替代方法很简单,如下:
1)首先,编写一个最完整的方法,拥有所有参数,同类型的可变参数完全可以使用数组参数代替;
2)根据参数的可变情况,重载该方法,在该方法中设置缺省参数的默认值并调用最完整的方法即可。
==========================================
疑问?帮助?批评?欢迎评论 | QQ:593159978