您的位置:首页 > 房产 > 建筑 > 制作网页如何设置对齐方式_简单的管理系统_外贸营销网站怎么建站_网站如何做seo排名

制作网页如何设置对齐方式_简单的管理系统_外贸营销网站怎么建站_网站如何做seo排名

2025/1/24 5:25:11 来源:https://blog.csdn.net/a624135_/article/details/142814569  浏览:    关键词:制作网页如何设置对齐方式_简单的管理系统_外贸营销网站怎么建站_网站如何做seo排名
制作网页如何设置对齐方式_简单的管理系统_外贸营销网站怎么建站_网站如何做seo排名

在Integer的valueOf()方中,当数值在-128-127之间时,数值都存储在有一个catch数组当中,该数组相当于一个缓存,当我们在-128-127之间进行自动装箱的时候,我们就直接返回该值在内存当中的地址,所以在-128-127之间的数值用==进行比较是相等的。而不在这个区间的数,需要新开辟一个内存空间,所以不相等。

1.自动装箱

Java 5引入了自动装箱和拆箱机制,允许将基本数据类型自动转换为对应的包装类对象,反之亦然。例如,Integer a = 128;实际上会调用Integer.valueOf(128)方法。

Integer.valueOf()方法

Integer.valueOf(int i)方法的源码如下:

public static Integer valueOf(int i) {  if (i >= IntegerCache.low && i <= IntegerCache.high)  //会返回一个cache数组return IntegerCache.cache[i + (-IntegerCache.low)];  return new Integer(i);  
}

private static class IntegerCache {  static final int low = -128;  static final int high;  static final Integer cache[];  static {  // high value may be configured by property  int h = 127;  String integerCacheHighPropValue =  sun.misc.VM.getSavedProperty("java.lang.Integer.IntegerCache.high");  if (integerCacheHighPropValue != null) {  try {  int i = parseInt(integerCacheHighPropValue);  i = Math.max(i, 127);  //保证了i最小是127h = Math.min(i, Integer.MAX_VALUE - (-low) - 1);//后面的maxvalue非常大,h一般情况就是i  } catch( NumberFormatException nfe) {  // If the property cannot be parsed into an int, ignore it.  }  }  high = h;  //high = icache = new Integer[(high - low) + 1];//由于high = i,i最小是127,按照最小的127算,得到256长的数组。//如果i更大,会创建更大的数组  int j = low;  for(int k = 0; k < cache.length; k++)  //j就是-128,-128到127 256个数在cache数组从0到256依次被赋值cache[k] = new Integer(j++);  // range [-128, 127] must be interned (JLS7 5.1.7)  assert IntegerCache.high >= 127;  }  
}

-128到127由于是热点数据,所以缓存了起来

 public boolean equals(Object obj) {if (obj instanceof Integer) {return value == ((Integer)obj).intValue();}return false;}Integer的equals也是根据值来是不是true,不是单纯的==了

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com