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));
}
}
Tại sao không a.compareTo(b)
biên dịch (int cannot be dereferenced
)? Tôi biết rằng compareTo
yêu cầu các đối tượng, nhưng tôi nghĩ autoboxing sẽ tự động tạo một int
một Integer
khi cần thiết. Tại sao autoboxing không xảy ra trong trường hợp này? Và những trường hợp nào khác sẽ không xảy ra?Java không có autoboxing cho int cho phương thức compareTo?