当前位置: 首页 > news >正文

网站建设最好的书籍是/自己的网站怎么做seo

网站建设最好的书籍是,自己的网站怎么做seo,厦门做外贸网站,沈阳男科医院哪家医院好自动装箱和拆箱就是将基本数据类型和包装类之间进行自动的互相转换。JDK1.5后,Java引入了自动装箱(autoboxing)/拆箱(unboxing)。 自动装箱: 基本类型的数据处于需要对象的环境中时,会自动转为“对象”。 我们以Integer为例:在J…

自动装箱和拆箱就是将基本数据类型和包装类之间进行自动的互相转换。JDK1.5后,Java引入了自动装箱(autoboxing)/拆箱(unboxing)。

自动装箱:

基本类型的数据处于需要对象的环境中时,会自动转为“对象”。

我们以Integer为例:在JDK1.5以前,这样的代码 Integer i = 5 是错误的,必须要通过Integer i = new Integer(5); 这样的语句来实现基本数据类型转换成包装类的过程;而在JDK1.5以后,Java提供了自动装箱的功能,因此只需Integer i = 5这样的语句就能实现基本数据类型转换成包装类,这是因为JVM为我们执行了Integer i = Integer.valueOf(5)这样的操作,这就是Java的自动装箱。

自动拆箱:

每当需要一个值时,对象会自动转成基本数据类型,没必要再去显式调用intValue()、doubleValue()等转型方法。

自动装箱/拆箱例子:
package yzy.commonclasses;
/** 测试自动装箱和拆箱*/
public class testBinngAndDevanning {public static void main(String[] args) {Integer a = 666;  //自动装箱  相当于Integer d = Integer.valueOf(666); int b = a;  //自动拆箱  相当于int b = a.intValue(); Integer c = null;//int d = c;  //相当于int d = c.intValue(); /* error: NUllpointerException* 说明编译器底层通过包装类对象c调用了成员方法* 装箱和拆箱所以还是调用了valueOf方法和intValue方法*///缓冲区Integer in1 = -128;  //Integer in1 = Integer.valuesOf(-128);Integer in2 = -128;System.out.println(in1 == in2);//true 因为123在缓存范围内System.out.println(in1.equals(in2));//true/* 在基本整数值的范围在[-128, 127]中时进行转包装类对象* valuesOf函数会返回对应的缓冲数组的一个元素,* 因此包装类在值相同且在[-128, 127]范围中时引用对象是同一个* 所以in1和in2引用同一个对象*/Integer in3 = 1234;Integer in4 = 1234;System.out.println(in3 == in4);//false 因为1234不在缓存范围内System.out.println(in3.equals(in4));//true}
}

Integer类valueof源码:
public static Integer valueOf(int i) {if (i >= IntegerCache.low && i <= IntegerCache.high)return IntegerCache.cache[i + (-IntegerCache.low)];return new Integer(i);
}

IntegerCache类源码:
private static class IntegerCache {static final int low = -128;static final int high;static final Integer cache[];static {// high value may be configured by propertyint 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);// Maximum array size is Integer.MAX_VALUEh = Math.min(i, Integer.MAX_VALUE - (-low) -1);} catch( NumberFormatException nfe) {// If the property cannot be parsed into an int, ignore it.}}high = h;cache = new Integer[(high - low) + 1];int j = low;for(int k = 0; k < cache.length; k++)cache[k] = new Integer(j++);// range [-128, 127] must be interned (JLS7 5.1.7)assert IntegerCache.high >= 127;}private IntegerCache() {}
}

总结自动装箱/拆箱:

自动装箱过程是通过调用包装类的valueOf()方法实现的,而自动拆箱过程是通过调用包装类的 xxxValue()方法实现的(xxx代表对应的基本数据类型,如intValue()、doubleValue()等)。

自动装箱与拆箱的功能事实上是编译器来帮的忙,编译器在编译时依据您所编写的语法,决定是否进行装箱或拆箱动作

Integer类valueof在整数范围是[-128, 127]时,会返回数组元素IntegerCache类中cache数组的一个元素

Integer类valueof源码

而cache数组是IntegerCache类中的私有数据成员

cache数组是IntegerCache类中的私有数据成员

cache数组创建过程如图:
cache数组创建过程
cache数组是包装类Integer类型数组,通过以上cache数组创建源码可以看到,其中cache数组的每一个元素引用的是包装类Integer的实例对象都是引用类型,那么只要在[-128, 127]
范围的一个整数转换为多个包装类引用对象那么指向的都是相同的对象

http://www.lbrq.cn/news/1430227.html

相关文章:

  • 网站中的给我留言怎么做/百度推广怎么提高关键词排名
  • 学网站建设学校/网站服务器多少钱一年
  • 南通北京网站建设/最近的国内新闻
  • 网站建设合同注意事项/十大网络营销成功案例
  • 建设网站观澜/网站的网站建设
  • 婚庆网站制作公司/网络广告案例
  • 做网站的调研报告/个人网站推广方法
  • 静态网站添加到织梦/营销方式都有哪些
  • 新乡网站建设.com/佛山seo优化外包
  • 网站开发师培训/什么是网络营销战略
  • 外贸视频网站开发/口碑营销ppt
  • 公益广告设计图片/aso关键字优化
  • 奥鹏作业代做靠谱的网站/湘潭网站设计外包公司
  • 橙云的主机支持放两个网站吗/推广宣传方式有哪些
  • 政府网站内容建设咨询/官网百度
  • 如何建设网站方便后期维护/seo运营做什么
  • wordpress的语言/seo门户网站
  • 衡水网站建设套餐/常州百度推广代理
  • 网站运营内容建设方案/广告联盟平台自动赚钱
  • oss做网站迁移/游戏推广引流软件
  • git怎么做隐私政策网站/软文发稿系统
  • 有没有房建设计的网站/需要优化的网站有哪些
  • 广东省党的建设研究会网站/百度网站收录提交入口全攻略
  • 丰联汽配网站建设成本/哪里做网络推广好
  • 有什么好的互联网平台做网站/网站域名备案查询
  • 旅游公司网站难做吗/免费的网站软件
  • 怎么在后台设置网站的关键词/广州网站关键词推广
  • 安徽省建设厅证书查询官方网站/网络营销个人总结
  • 沈阳网站制作的公司/seo培训价格
  • 请seo的人帮做网站排名/浙江seo外包费用
  • 20250815在荣品RD-RK3588-MID开发板的Android13下调通TP芯片FT8206
  • Baumer高防护相机如何通过YoloV8深度学习模型实现驾驶员疲劳的检测识别(C#代码UI界面版)
  • OpenCV 形态学操作
  • 沈帅波出席茅台红缨子高粱节探讨产业赋能新模式
  • OS设备UDID查看方法
  • 洛谷 小 Y 拼木棒 贪心