невозможно загрузить ggplot 2, так как 'lib' не указан

Я взял код из этой ссылки и изменил некоторые его части:

    public static void main(String[] args) {
    Byte i = 5;
    byte k = 5;
    aMethod(i, k);
}

//method 1
static void aMethod(byte i, Byte k) {
    System.out.println("Inside 1");
}

//method 2
static void aMethod(byte i, int k) {
    System.out.println("Inside 2");
}

//method 3
static void aMethod(Byte i, Byte k) {
    System.out.println("Inside 3 ");
}

//method 4
static void aMethod(Byte  i, Byte ... k) {
    System.out.println("Inside 4 ");
}

Компилятор дает ошибку (метод неоднозначен для типа Overloading) для методов 1, 2 и 3, но не 4 (почему?)

Ответ заключается в механизме, который java использует для сопоставления вызовов методов методам. Механизм выполняется в три этапа, в каждой фазе, если он находит метод совпадения:

+ фаза первая: используйте расширение, чтобы найти метод сопоставления (не найдено совпадающих методов)

+ второй этап: (также) использовать бокс / unboxing для поиска метода сопоставления (метод 1,2 и 3)

+ фаза три: (также) использовать var args (метод 4 соответствует!) [/ ​​g6]

1
задан Z.Lin 16 January 2019 в 03:02
поделиться