Что выведет на консоль следующий код:

01: public class Clazz {
02:     public static void main(String[] args) {
03:         Integer integer = new Integer(1024);
04:         Long aLong = new Long(1024);
05:         if (integer.equals(aLong))
06:             System.out.println("eq");
07:         if (integer.intValue() == aLong.longValue())
08:             System.out.println("==");
09:     }
10: }
Explanation
В классе Integer метод equals переопределен как:

public boolean equals(Object obj) {
if (obj instanceof Integer) {
return value == ((Integer)obj).intValue();
}
return false;
}
Соответственно, т.к. у нас аргумент типа Long, то результат будет false.

Следи за CodeGalaxy

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

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