class Test{
public static void main(String[] args){
int a = 1;
int b = 5;
Integer c = new Integer(1);
Integer d = 5; //autoboxing at work
System.out.println(c.compareTo(d));
System.out.println(a.compareTo(b));
}
}
Dlaczego a.compareTo(b)
nie kompiluje (int cannot be dereferenced
)? Wiem, że compareTo
wymaga obiektów, ale myślałem, że autoboxing automatycznie wykona int
, gdy będzie to konieczne. Dlaczego w tym przypadku nie występuje autoboxing? A jakie inne przypadki się nie pojawią?Java nie autoboxing dla int dla metody compareTo?