Что будет напечатано при выполнении данного кода?

public class My {
    public static void main(String...args) {
       Integer i1 = new Integer("013");
       Integer i2 = new Integer(013);
       System.out.println(i1 == i2);
       System.out.println(i1.equals(i2));
    }
}
Explanation
Конструкторы классов-оберток целочисленных типов, принимающие на вход строку, рассматривают ее как десятичное число. Поэтому i1 = 13, i2 = 11.

P.S. В первом случае результат false будет даже в случае равных чисел, так как сравниваются две разные ссылки на объекты (при использовании new в пул объектов они не добавляются).

Следи за CodeGalaxy

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

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