(6)byte常量池面试题。 Integer i1 = new Integer(127); Integer i2 = new Integer(127); System.out.println(i1 == i2); // false System.out.println(i1.equals(i2)); // true System.out.println("--------"); Integer i3 = new Integer(128); Integer i4 = new Integer(128); System.out.println(i3 == i4); // false System.out.println(i3.equals(i4)); // true Integer i5 = 128; Integer i6 = 128; System.out.println(i5 == i6); // false System.out.println(i5.equals(i6)); // true System.out.println("--------"); Integer i7 = 127; Integer i8 = 127; System.out.println(i7 == i8); // true System.out.println(i7.equals(i8)); // true 结论:byte范围内的值(-128 ~ 127),java提供了一个常量池。直接赋值给Integer,是从常量池里面获取的。
|