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

产地证是在哪个网站上做在线资源链接

产地证是在哪个网站上做,在线资源链接,广州建工集团有限公司官网,php网站建设培训目录 为什么要有包装类 包装类的作用 基本数据类型和包装类的对应关系 包装类的核心功能 装箱&#xff08;Boxing&#xff09;和拆箱&#xff08;Unboxing&#xff09; 装箱&#xff1a; 拆箱&#xff1a; 类型转换 字符串<----->基本类型 进制转换 自动装箱与…

目录

为什么要有包装类

包装类的作用

基本数据类型和包装类的对应关系

包装类的核心功能

装箱(Boxing)和拆箱(Unboxing)

装箱:

拆箱:

类型转换

字符串<----->基本类型

进制转换

自动装箱与拆箱(Autoboxing)

128陷阱


为什么要有包装类

Java是面向对象编程的,但是基本类型却没有对象,这就会产生矛盾,于是包装类为了解决这一问题应运而生。

包装类的作用

  1. 让基本类型具备对象的特性

    可以参与面向对象的操作(如存入 List、作为方法参数传递)
  2. 提供丰富的工具方法

    类型转换、进制转换、最大值/最小值常量等
  3. 支持泛型

    泛型只能使用对象(如 List<Integer>,不能是 List<int>

基本数据类型和包装类的对应关系

基本数据类型包装类
byteByte
shortShort
intInteger
longLong
charCharacter
floatFloat
doubleDouble
booleanBoolean

包装类的核心功能

装箱(Boxing)和拆箱(Unboxing)

装箱:

基本类型----->包装类对象

Integer num = Integer.valueOf(10); // 手动装箱(推荐)
Integer num2 = 10;                // 自动装箱(Java 5+)

拆箱:

包装类对象------>基本类型

int n = num.intValue(); // 手动拆箱
int n2 = num;          // 自动拆箱

类型转换

字符串<----->基本类型

int num = Integer.parseInt("123");      // 字符串 → int
String s = Integer.toString(123);       // int → 字符串
double d = Double.parseDouble("3.14");  // 字符串 → double

进制转换

String binary = Integer.toBinaryString(10); // 10 → "1010"(二进制)
String hex = Integer.toHexString(255);      // 255 → "ff"(十六进制)

自动装箱与拆箱(Autoboxing)

// 自动装箱(编译后实际调用 Integer.valueOf(10))
Integer num = 10; // 自动拆箱(编译后实际调用 num.intValue())
int n = num; 

128陷阱

Integer num1=100;
Integer num2=100;
System.out.println(num1 == num2);   Integer num3=200;
Integer num4=200;
System.out.println(num3 == num4);	

大家到文章底部猜一下两个输出分别是什么


答案:

truefalse

原因:因为Integer在编译时,会变为 Integer.valueof(),我们看该方法的原码,会发现其是用一个cache数组来存储数据的,如下:

而对于cache数组,我们查看其源码:

发现其大小是-128~127,也就是说,当Integer的值是出于-128~127之间时,会直接使用cache数组中已经存储好的值,再看valueof的原码,当数据是在这个范围外时,就会在堆内存中新开辟一个Integer的空间所以此时num3==num4的值为false


小练习

接下来我们可以继续通过练习来掌握

public static void main(String[] args) {int a = 10;int b = 10;Integer a1 = 10;Integer b1 = 10;Integer a2 = new Integer(10);Integer b2 = new Integer( 10);System.out.println(a == b);		//trueSystem.out.println(a1==b1);		//true,Integer的值在-128~127之间,所以此时用的是cache数组中的值,所以trueSystem.out.println(a2== b2);	//false,a2和b2都是新开辟的Integer对象,所以地址不同,所以falseSystem.out.println(a1 == a);	//true,当包装类用==与基本数据类型比较时,会自动拆箱	System.out.println(a1.equals(a));	//true,此时会自动装箱,与上一个情况类似System.out.println(a1 == a2);	//false,地址不同,a2是新开辟的,a1是cache数组中的System.out.println(a == a2);	//自动拆箱}

总结

特性说明
基本类型转对象使用 valueOf() 或自动装箱
对象转基本类型使用 xxxValue() 或自动拆箱
类型转换parseXxx() 将字符串转为基本类型,toString() 反之
128陷阱== 比较范围受限(-128~127)
http://www.dtcms.com/wzjs/347239.html

相关文章:

  • 芜湖建设工程质量监督站网站网络营销手段有哪四种
  • 域名iis网站添加最常见企业网站有哪些
  • 怎样建设网站真正自由平等的社会网络营销的内容有哪些方面
  • 哪里有培训网搜索引擎环境优化
  • 微网站工程案例展示编写网站
  • wordpress学校网站如何做google推广
  • 合肥企业网站建设公司哪家好深圳推广不动产可视化查询
  • 网站建设大图厦门seo网络优化公司
  • 中江县规划和建设局网站自己如何做一个网站
  • 创建网站的网站廊坊优化技巧
  • 电子元器件网站建设企业文化理念
  • wordpress注册登录问题唐山seo优化
  • 顺德小程序开发公司seo入门免费教程
  • win10 做网站服务器山东移动网站建设
  • 网站建设最新技术seo怎么收费
  • 推广农村特色产品建设网站方案西安关键词排名软件
  • B2C网站的后台管理功能包括网络建站工作室
  • 北京搭建网站广西seo关键词怎么优化
  • 互动平台网站中国国家培训网
  • 做卷皮网类似网站优化设计的答案
  • 网站锚点链接怎么做网络服务器的作用
  • 贵阳网站建设 设计可以吗合肥百度搜索排名优化
  • 自己学做网站国际新闻 军事
  • 郑州做商城网站企业网站建设制作
  • 企业服务中心工作内容唐山seo快速排名
  • 湖南郴州旅游十大必去景区刷百度关键词排名优化
  • 什么网站做简历模板关系网站优化公司
  • 做网站三网多少钱手机百度网页版 入口
  • 企业网站模板湖南岚鸿模板百度 seo排名查询
  • 安徽建设工程网站网络营销方案总结