jdk5加入了自动拆箱与装箱的功能。 比如Integer a = 100;编译是可以通过的。 “==”:对于对象来说比较的是内存地址。但对于原始类型来说比较的就是内容。 看下面的例子: Integer a = 127; Integer b = 127; if(a==b){ System.out.println("111111"); }else{ System.out.println("222222"); } 输出的111111。 再看下面的例子: Integer a = 128; Integer b = 128; if(a==b){ System.out.println("111111"); }else{ System.out.println("222222"); } 输出的222222. 怎么会这样呢? 原来值在-128到127之间的话,编译器是把它当成原始类型来处理的,否则就是当成对象来处理了。...