int 与Integer 比较

 

// 基本类型和封装类型比较,将封装类型转为基本类型,结果返回true 
  int a1 = 500;
  Integer b1 = 500;


  System.out.println(a1==b1);// true

// 封装类型和封装类型比较,如果两个变量的值在区间[-128,127]之间,比较结果为true;否则,结果为false。
  Integer a2 = 124;
  Integer b2 = 124;
    
  System.out.println(a2==b2);// true
       
  Integer a3 = 129;
  Integer b3 = 129;
    
  System.out.println(a3==b3);// false
        
/** 非new生成的Integer变量和new Integer()生成的变量比较时,结果为false。
 (因为非new生成的Integer变量指向的是java常量池中的对象,
 而new Integer()生成的变量指向堆中新建的对象,两者在内存中的地址不同)
*/

  Integer a4 = 124;
  Integer b4 = new Integer(124);
    
  System.out.println(a4==b4);// false
    
    
  Integer a5 = 129;
  Integer b5 = new Integer(129);
    
  System.out.println(a5==b5); // false


 

你可能感兴趣的:(JAVA)