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));
}
}
Конструкторы классов-оберток целочисленных типов, принимающие на вход строку, рассматривают ее как десятичное число. Поэтому i1 = 13, i2 = 11.
P.S. В первом случае результат false будет даже в случае равных чисел, так как сравниваются две разные ссылки на объекты (при использовании new в пул объектов они не добавляются).
Войдите чтобы поставить Нравится
Войдите чтобы прокомментировать