比较Integer的时候,不要用 。 查看Integer的源码,如下: 通过注释可以知道,为了更好的空间和时间性能,Integer会缓存频繁使用的数值,数值范围为 到 ,在此范围内直接返回缓存值。 IntegerCache.low 是 ,IntegerCache.high是 ,如果在这个区间内,他就会把变量i当做一个变量,放到内存中 但如果不在这个范围内,就会去new一个Integer对象, 而如 ...
2019-08-27 23:29 1 440 推荐指数:
题记:前几天面试Java基础给来了个面试题Integer a=100,b=100;System.out.println(a==b); 当时回答是true,后来面试官又来了一个Integer a=200,b=200;System.out.println(a==b); 这个回答的也是true当时面试官 ...
package integerdemo; public class IntegerDemo { public static void main(String[] args) { //-128--127之间 Integer ...
第5和第6行的结果都为true。因为Integer与int比较时,Ingeger都会自动拆箱(jdk1.5以上)。 第12行结果为true,第13行结果为false。因为Java在编译的时候,Integer i4=127被翻译成-> Integer i4 ...
private Integer index; if(index == null) index = 0; else this.index = index; Integer有一个明显的好处,就是它能比int多表示一个值,没错就是null。假如一个属性,名字叫a,假如它的类型是Integer,那它 ...
前言 最近工期紧、任务多,没有时间更新博客,就水一期吧。虽然是水,也不能太水,刚好最近工作中遇到一个 sorter 多条件排序的问题,花费了半天时间来定位解决,就说说它吧。 背景 公司产品是一个 ...
使用redisson cache来实现一个缓存功能,缓存省市县的名称,key是区域编码,integer,value是name。结果取的时候,怎么都取不出。 找了半天问题才发现regionsMap的key都是字符串。 java.lang.ClassCastException ...
先看一个例子: public static void main(String[] args) { int i1 = 128; Integer i2 = 128; Integer i3 = new Integer(128); System.out.println(i1 == i2 ...