全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

JAVA中Integer值的范围实例代码

废话不多说了,直接给大家贴代码,具体代码如下所示:

package com.test;
public class Test {
  public static void main(String []args) {
   Integer a = 100;//此处若使用new,则==值必为false
   Integer b = 100;
   System.out.println(a==b);//true
   Integer c = 150;
   Integer d = 150;
   System.out.println(c==d);//false
  }
}

  这是什么原因呢?

  1。java在编译的时候 Integer a = 100; 被翻译成-> Integer a = Integer.valueOf(100);

  2。比较的时候仍然是对象的比较

  3。在jdk源码中

public static Integer valueOf(int i) { 
  final int offset = 128; 
  if (i >= -128 && i <= 127) { // must cache 
  return IntegerCache.cache[i + offset]; //符合值范围时候,进入也创建好的静态IntergerCache,i+offset的值表示去取cache数组中那个下标的值
  } 
  return new Integer(i); //当不符合-128 127值范围时候。记住用的:new,开辟新的内存空间,不属于IntergerCache管理区
} 

  而

private static class IntegerCache { 
  private IntegerCache(){} 
  static final Integer cache[] = new Integer[-(-128) + 127 + 1]; //开辟-128到127的内存区。有0的位置哦
  static { 
    for(int i = 0; i < cache.length; i++) 
      cache[i] = new Integer(i - 128); //为内存区的数组每个对象赋值
    } 
  } 

  这边是java为了提高效率,初始化了-128--127之间的整数对象,所以在赋值在这个范围内都是同一个对象。

  再加一句

Integer a = 100;
  a++;
  //这边a++是新创建了一个对象,不是以前的对象。
  public static void main(String []args) {
    Integer a = 100;
    Integer b = a;//此时b指针指向值为100的堆地址 即a的堆地址,a==b成立
    a++;//此时a指向的值发生变化为101,a指针指向101的堆地址。而b任然指向100
    System.out.println(a==b);//false
  }

总结

以上所述是小编给大家介绍的JAVA中Integer值的范围实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!


# java  # integer值的范围  # int  #   # Java中关于int和Integer的区别详解  # 浅析java中Integer传参方式的问题  # java中的Integer的toBinaryString()方法实例  # Java大数字运算之BigInteger  # Java int与integer的对比区别  # 关于Java中你所不知道的Integer详解  # Java中Integer两种转int方法比较  # Java中int与integer的区别(基本数据类型与引用数据类型)  # Java基本数据类型与封装类型详解(int和Integer区别)  # java中Integer包装类装箱的一个细节详解  # 给大家  # 小编  # 都是  # 在这个  # 一句  # 在此  # 说了  # 不多  # 不符合  # 所示  # 仍然是  # 不属于  # 再加  # 所述  # 给我留言  # 值为  # 感谢大家  # 翻译成  # 提高效率  # 组中 


相关文章: 学校建站服务器如何选型才能满足性能需求?  潮流网站制作头像软件下载,适合母子的网名有哪些?  制作国外网站的软件,国外有哪些比较优质的网站推荐?  建站主机功能解析:服务器选择与快速搭建指南  如何选择可靠的免备案建站服务器?  网站制作需要会哪些技术,建立一个网站要花费多少?  如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南  h5网站制作工具有哪些,h5页面制作工具有哪些?  武汉外贸网站制作公司,现在武汉外贸前景怎么样啊?  如何用PHP快速搭建高效网站?分步指南  高防服务器租用首荐平台,企业级优惠套餐快速部署  儿童网站界面设计图片,中国少年儿童教育网站-怎么去注册?  如何选择网络建站服务器?高效建站必看指南  哈尔滨网站建设策划,哈尔滨电工证查询网站?  导航网站建站方案与优化指南:一站式高效搭建技巧解析  制作网站的基本流程,设计网站的软件是什么?  如何在搬瓦工VPS快速搭建网站?  如何快速搭建安全的FTP站点?  C#如何序列化对象为XML XmlSerializer用法  如何在IIS中新建站点并解决端口绑定冲突?  无锡制作网站公司有哪些,无锡优八网络科技有限公司介绍?  简单实现Android验证码  营销式网站制作方案,销售哪个网站招聘效果最好?  网站专业制作公司有哪些,做一个公司网站要多少钱?  Android使用GridView实现日历的简单功能  青岛网站设计制作公司,查询青岛招聘信息的网站有哪些?  如何快速启动建站代理加盟业务?  定制建站策划方案_专业建站与网站建设方案一站式指南  公司网站制作费用多少,为公司建立一个网站需要哪些费用?  建站之星如何助力企业快速打造五合一网站?  武汉网站如何制作,黄黄高铁武穴北站途经哪些村庄?  如何用PHP快速搭建CMS系统?  如何规划企业建站流程的关键步骤?  如何优化Golang Web性能_Golang HTTP服务器性能提升方法  c# 在高并发场景下,委托和接口调用的性能对比  制作网站哪家好,cc、.co、.cm哪个域名更适合做网站?  建站之星导航菜单设置与功能模块配置全攻略  网站规划与制作是什么,电子商务网站系统规划的内容及步骤是什么?  免费视频制作网站,更新又快又好的免费电影网站?  制作网站的过程怎么写,用凡科建站如何制作自己的网站?  如何高效配置IIS服务器搭建网站?  网站制作公司排行榜,抖音怎样做个人官方网站  建站之星展会模版如何一键下载生成?  沈阳个人网站制作公司,哪个网站能考到沈阳事业编招聘的信息?  小说建站VPS选用指南:性能对比、配置优化与建站方案解析  微网站制作教程,不会写代码,不会编程,怎么样建自己的网站?  洛阳网站制作公司有哪些,洛阳的招聘网站都有哪些?  北京的网站制作公司有哪些,哪个视频网站最好?  如何在云主机快速搭建网站站点?  网站制作公司,橙子建站是合法的吗? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。