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));
}
}
为什么不a.compareTo(b)
编译(int cannot be dereferenced
)?我知道这compareTo
需要对象,但我认为自动装箱会在必要时自动生成int
一个。Integer
为什么在这种情况下不会发生自动装箱?还有哪些其他情况不会发生?