Какой результат работы программы?

public class Test {
    public static void main(String[] args) {
        Integer i1 = 1000;
        Integer i2 = 1000;
        System.out.println(i1 == i2);
        System.out.println(i1 == 1000);
    }
}
Explanation

При преобразовании значения 1000 в объект-оболочку каждый раз создаётся новый экземпляр Integer. Поэтому в первом сравнении получаем false.

Если в операции == сравниваются примитивы и объекты-оболочки, то объекты-оболочки преобразовываются в примитивы. Поэтому во втором сравнении получаем true.

Слідкуй за CodeGalaxy

Мобільний додаток Beta

Get it on Google Play
Зворотній Зв’язок
Продовжуйте вивчати
тести з Java
Cosmo
Зареєструйся Зараз
або Підпишись на майбутні тести