java程序一些陷阱
package t1;
public class TestThread22 {
public static void main(String[] args) {
// \u000d System.out.println("转码先于编译,所以会输出");
Integer a = 100;
Integer b = 100;
Integer c = 128;
Integer d = 128;
System.out.println("Integer里面维护这一个静态内部类IntegerCache,、"
+ "\n在类加载的时候,它会把[-128, 127]之间的值缓存起来,"
+ "\n而Integer a = 100这样的赋值方式,会首先调用Integer类中的静态valueOf方法,"
+ "\n这个方法会尝试从缓存里取值,如果在这个范围之内就不用重新new一个对象了\n"
+ (a == b));
System.out.println(c == d);
int i = 100;
i = +10; // 注意,加号在后面
System.out.println(i);
}
}
输出结果:


浙公网安备 33010602011771号