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

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 в пул объектов они не добавляются).

Follow CodeGalaxy

Mobile Beta

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