两个整型基本数据类型需要==来比较就行 那么两个整型包装类型呢?来看以下代码
public static void main(String[] args) {
int a=100;
int b=100;
Integer c=100;
Integer d=100;
Integer e=new Integer(100);
Integer f=new Integer(100);
System.out.println(a==b); // true
System.out.println(c==d); //true
System.out.println(c.equals(d)); // true
System.out.println(e==f); //false
System.out.println(e.equals(f)); //true
System.out.println(c==f); //false
System.out.println(c.equals(f)); //true
int a1=200;
int b1=200;
Integer c1=200;
Integer d1=200;
Integer e1=new Integer(200);
Integer f1=new Integer(200);
System.out.println(a1==b1); //true
System.out.println(c1==d1); //false
System.out.println(c1.equals(d1)); //true
System.out.println(e1==f1); //false
System.out.println(e1.equals(f1)); //true
System.out.println(c1==f1); //false
System.out.println(c1.equals(f1)); //true
}
各位小伙伴可以尝试运行一下 这是基于jDK8运行的结果
基于以上代码总结Interger 在[-128和127]范围内使用==比较,返回true,反之false 超过以上范围需要使用equals进行比较大小