本帖最后由 刘正祥 于 2013-5-29 19:18 编辑
Java中参数个数和类型未知的场合中,用到了可变参数,下面一段代码有关可变参数方法重载,如下:- public class OverloadingVarargs{
- static void method(Character... args){
- System.out.print("first");
- for(Character c: args){
- System.out.print(" "+c);
- }
- System.out.println();
- }
- static void method(Integer... args){
- System.out.print("second");
- for(Integer i: args){
- System.out.print(" "+i);
- }
- System.out.println();
- }
- static void method(Character... args){
- System.out.print("third");
- }
- public static void main(String[] args){
- method('a','b','c');
- method(1);
- method(2,1);
- method(0);
- method(0L);
- }
- }
- /* 输出结果:
- first a b c
- second 1
- second 2 1
- second 0
- third
- */
复制代码 但是在使用的时候如果调用Method(),编译器会调用哪一个方法呢?因为可变参数的个数是0....*,如何解决此问题? |