我是xxxx 2019-01-24 10:20 采纳率: 0%
浏览 413

JAVA 可变参数+方法重载 执行结果疑问

问题:
当代码如下编写时,为何会执行参数类型为char的方法,而不会执行其他方法?

代码如下

package cn.com;

public class M11 {

//    public static void f1(byte... bytes){
//        System.out.println("f1(byte)");
//    }

    public static void f1( long... longs ){
        System.out.println("f1(long)");
    }

    public static void f1( char... chars ){
        System.out.println("f1(char)");
    }

    public static void f1( int... ints ){
        System.out.println("f1(int)");
    }

    public static void main(String[] args) {
        f1();
        f1();
        f1();
    }
}

运行结果如下

f1(char)
f1(char)
f1(char)
  • 写回答

2条回答 默认 最新

  • mxxrgxg 2019-01-24 10:41
    关注

    图片说明
    我对你的源码进行编译之后再进行反编译得到的是这样的。
    所以建议研究一下jvm方面的

    评论

报告相同问题?