java面试题

Posted jomini

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java面试题相关的知识,希望对你有一定的参考价值。

1、为什么Java中1000==1000为false而100==100为true?

  当 int 类型值 在 -127 到 127 之间,两个变量的引用地址是相同的。Integer.java 类,有一个内部私有类,IntegerCache.java缓存了从-128到127之间的所有的整数对象。

Integer c = 100;

  实际上是

Integer i = Integer.valueOf(100);

  即

public static Integer valueOf(int i) {
      if (i >= IntegerCache.low && i
          return IntegerCache.cache[i + (-IntegerCache.low)];
      return new Integer(i);
    }

  而不在  -127 到 127 这个范围的时候,就执行的是new Integer(i),是两个不同的引用对象

以上是关于java面试题的主要内容,如果未能解决你的问题,请参考以下文章

经验总结:Java高级工程师面试题-字节跳动,成功跳槽阿里!

前端面试题之手写promise

一道经典面试题:字符串在Java中如何通过“引用”传递

Java之String相关内容详解(字符串和字符串常量池)面试题

JAVA基础面试题

Java面试题及答案2020,java登录界面代码