java的integer什么意思,java中integer比较

  java的integer什么意思,java中integer比较

  

  如何解决写爬虫IP受阻的问题?立即使用。

  基础:

  1.int是java的基本数据类型,integer是int的封装类。

  2.整数变量在使用前必须被实例化,但是int变量不需要。

  3.integer实际上是对对象的引用。当新创建一个整数对象时,实际上生成一个指针指向该对象;而int是直接存储的数据值。

  4.Integer的默认值为null,int的默认值为0。

  延伸:

  1.因为整型变量实际上是对整型对象的引用,所以通过new传递的两个整型变量永远不会相等(因为new会生成两个内存地址不同的对象)。

  整数i=新整数(100);

  整数j=新整数(100);

  system . out . print(I==j);//false2。当一个整型变量和一个整型变量比较时,只要两个变量的值相等,那么结果为真。因为integer本质上是int的一个封装类,当两个数比较时,java会自动解包整数,所以本质上是两个int变量的比较。

  整数i=新整数(100);

  int j=100

  system . out . print(I==j);//true3。当new创建的整数变量与不是new创建的整数变量进行比较时,结果为false。因为不是new创建的变量存在于java常量池中,而new创建的变量指向堆中新创建的对象,所以它们的内存地址是不同的。

  整数i=新整数(100);

  整数j=100

  system . out . print(I==j);//false4。比较两个不新的整型变量时,如果两个变量的值在-128到127之间,那么结果为真,否则为假。

  对于这个奇怪的结果,java的解释如下:

  整数i=新整数(100);//编译时会变成Integer i=Integer。ValueOf(100)和Integer.valueOf()在java API中的定义如下:

  (int i)的公共静态整数值{

  断言IntegerCache.high=127

  if(I=integer cache . low I=integer cache . high){

  return integer cache . cache[I(-integer cache . low)];

  }

  返回新的整数(I);

  }也就是对于-128到127的数字,java会缓存,下次赋整数变量时,如果是-128到127并且已经缓存了,就直接从缓存中调用。

  PHP中文网站,有很多免费的JAVA入门教程,欢迎学习!这就是java integer和int的区别。更多详情请关注我们的其他相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: