Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Почему тут не происходит unboxing?

Alex Zubkov Ученик (30), на голосовании 4 года назад
public Integer getAge() {
return age;
}
т. к.
public int compareTo(Integer anotherInteger) {
return compare(this.value, anotherInteger.value);
}
т. е. почему я должен тип метода указывать как wrapper class Integer, ведь возможна автоматическая конвертация?
Дополнен 4 года назад
реализация
@Override
public int compare(Student o1, Student o2) {
int name = o1.getName().compareTo(o2.getName());
int age = o1.getAge().compareTo(o2.getAge());

if(name == 0) {
return ((age==0)? age : name);
} else return name;
}
Голосование за лучший ответ
Зеленая бяка Просветленный (40898) 4 года назад
Потому что сравниваешь объекты. Зачем передавать объект Integer? Надо передавать свой объект Student. Вызывается так o1.compareTo(o2)
Alex ZubkovУченик (30) 4 года назад
Да, но параметр то у compareTo - Integer
Похожие вопросы