一些面试题

1.第一题,判断输出结果:

public class Demo1 {

 /**
  * @param args
  * 和String的对象池一样,几种整数基本类型的包装类型也有对象池机制。
  也就是说用Integer int1 = 30;这种方式声明一个Integer对象时会先在对象池中找有没有值为30的对象,
  如果有直接拿来用,如果没有则重新创建一个对象放入对象池中。java中“==”是比较值,
  int1和int2引用的同一个对象,内存地址相同,所以int1==int2结果为true。
  而Integer int4 = new Integer(30);这种方式是重新创建一个Integer对象,不会放入对象池中,
  所以int4和int5是两个不同对象的引用int4==int5结果为false。
  至于int4==int5+int6,因为涉及到运算,所以都是取的各个Integer对象的intValue,
  也就是比较的30==30+0,所以为true。
  另外补充一点,对象池中对象的值的在[-128,127]之间,超过此范围的不会在对象池中缓存。
  也就是说Integer int7 = 130;Integer int8 = 130;判断int7==int8,结果为false。
  */
 public static void main(String[] args) {
//  Integer int1 = 30;
//  Integer int2 = 30;
  Integer int1 = 128;
  Integer int2 = 128;
  Integer int3 = 0;
  
  System.out.println(int1 == int2);
  System.out.println(int1 == int2 + int3);

  Integer int4 = new Integer(30);
  Integer int5 = new Integer(30);
  Integer int6 = new Integer(0);
  
  System.out.println(int4 == int5);
  System.out.println(int4 == int5 + int6);
 }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值