GaneshRfromSpace Ответов: 0

Почему компилятор не выдает ошибку, когда я использую класс integer wrapper ?


int phoneNumber = m.get(s);
            if(phoneNumber!=null)
                {
            System.out.println(s + "=" + phoneNumber);
            }


Этот код возвращает следующее заявление об ошибке (очевидно,)

error: incomparable types: int and <null>

             if(phoneNumber!=null)
                             ^


Но этот код отлично работает, если я использую класс-оболочку.

Integer phoneNumber = m.get(s);
                if(phoneNumber!=null)
                    {
                System.out.println(s + "=" + phoneNumber);     
                }


Что я уже пробовал:

Почему компилятор не выдает здесь ошибку несравнимых типов ?

Peter_in_2780

Короткий ответ: Integer - это объект, а объекты можно сравнивать с null.

0 Ответов