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

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) + автобоксинга при вызове метода, однако может выполнить это преобразование в обратном порядке.

Follow CodeGalaxy

Mobile Beta

Get it on Google Play
Send Feedback
Keep exploring
Java quizzes
Cosmo
Sign Up Now
or Subscribe for future quizzes