public boolean equals(Object obj)比较此对象与指定对象。当且仅当参数不为 null,并且是一个与该对象包含相同 int 值的 Integer 对象时,结果为 true。
自动装箱在byte取之范围之内(-128~127),则不创建对象在常量池中获取,如果超出byte范围则创建对象
package com.ifenx8.study.array;
public class Demo_Integer2 {
/**
* A:Integer的面试题
*
看程序写结果
*/
public static void main(String[] args) {
Integer i1 = new Integer(97);
Integer i2 = new Integer(97);
System.out.println(i1 == i2);//结果为false ,创建两个对象有两个地址值
System.out.println(i1.equals(i2));//true (api中的equal方法 )public boolean equals(Object obj)比较此对象与指定对象。当且仅当参数不为 null,并且是一个与该对象包含相同 int 值的 Integer 对象时,结果为 true。
System.out.println("-----------");
Integer i3 = new Integer(197);
Integer i4 = new Integer(197);
System.out.println(i3 == i4);//false 创建两个对象有两个地址值
System.out.println(i3.equals(i4));//true 同上
System.out.println("-----------");
Integer i5 = 97;
Integer i6 = 97;
System.out.println(i5 == i6);//true ,自动装箱在byte取之范围之内(-128~127),则不创建对象在常量池中获取,如果超出byte范围则创建对象
System.out.println(i5.equals(i6));//true 同上
System.out.println("-----------");
Integer i7 = 197;
Integer i8 = 197;
System.out.println(i7 == i8);//false 同上
System.out.println(i7.equals(i8));//ture 同上
}
}