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);

}
}

输出结果:

 

posted @ 2020-04-01 12:38  工设091  阅读(107)  评论(0)    收藏  举报