Каким будет результат компиляции и выполнения следующего кода?

public class Test {
    static void methodA(Long l) {
        System.out.println(l);
    }
    
    static void methodB(Object o) {
        Byte b = (Byte) o;
        System.out.println(b);
    }
    
    public static void main(String[] args) {
        byte b = 5;
        
        methodA(b);  // 1
        methodB(b);  // 2
    }
}
Explanation
Компилятор не выполняет операции расширения (widening) + автобоксинга при вызове метода, однако может выполнить это преобразование в обратном порядке.

Следи за CodeGalaxy

Мобильное приложение Beta

Get it on Google Play
Обратная Связь
Продолжайте изучать
тесты по Java
Cosmo
Зарегистрируйся сейчас
или Подпишись на будущие тесты