**小白的Java学习之旅**------API高级开发 常用类之包装类
2019-03-17 21:12
267 查看
包装类
1.概念:8种基本数据对应的引用/对象类型,称为基本包装类。
2.基本数据类型对应 包装类:位于java.lang包中【重点】
基本数据类型 | 包装类 |
---|---|
byte | Byte |
short | Short |
int | Integer |
long | Long |
float | Float |
double | Double |
char | Character |
boolean | Boolean |
3.数据类型之间的转换
①int和Integer之间的转换
int---->Integer之间的转换
(1)
Integer i1 = new Integer(12); //借助 Integer的构造方法
(2)
Integer i2 = Integer.valueOf(12);// 借助Integer中静态方法 valueOf
Integer---->int
(1)
int a = i2.intValue();
②String和Integer之间的转换
String---->Integer
(1)
Integer i3 = new Integer("123");
(2)
Integer i4 = Integer.valueOf("123");
Integer---->String
(1)
String s1 = i4.toString();
(2)
String s2 = i4+""; //利用的字符串的拼接
③int 和 String 之间的转换
int---->String
int a = 5;
(1)
String s3 = a + "";//注意:基本数据类型没有 toString方法
String—>int
(1)
int a3 = Integer.parseInt("123");//借助 Integer类中静态方法 【开发应用重点】
注意:String 类型数据转换为int或者Integer时,要求转换的字符串必须是数值类型,否则会运行报错,错误信息为:java.lang.NumberFormatException(数值类型转换异常)
4.装箱、拆箱
①JDK5.0之后提供自动装箱和拆箱的功能,即基本数据类型和对应包装类型之间可以相互转换。
②装箱:基本数据类型转换为对应的包装类型的过程。 Integer i = 12;
拆箱:包装类型转换为基本数据类型的过程。int a = i;
③自动装箱原理:【面试重点+难点】
(1)自动装箱底层 调用时 Integer类中 valueOf方法完成转换。
public static Integer valueOf(int i){ if(i>= -128 && i<=127) return 对应的常量池的包装结果; return new Integer(i); }
(2)为了提高转换的效率,Integer中将-128~127作为常用数据段进行预先包装处理,把包装结果存储在方法区常量池中,也称为缓冲区。
面试题目:
Integer i1 = 12; Integer i2 = 12; System.out.println(i1==i2);//true Integer i3 = 129; Integer i4 = 129; System.out.println(i3==i4);//false
5.实际开发应用重点:【开发应用重点】
(1)作用:可以区分程序中有效数据和无效数据,例如:0和null;0.0和null等
(2)场景:通常将类中属性由之前的基本数据类型 改变为 对应包装类型 ---->区分数据的有效性。
相关文章推荐
- 黑马程序员_JAVA之API(Object,Scanner,数组高级,包装等类)
- java微信开发API解析(三)-高级功能的前奏----获取以及保存接口调用凭证 标签: 微信java办微信开发微信文档解析 2016-04-06 20:50 1101人阅读 评论(0) 收藏 举报
- java高级开发学习之--反射机制(1)
- java基础学习_常用类03_StringBuffer类、数组高级和Arrays类、Integer类和Character类_day13总结
- java高级开发工程师学习路线图
- 网易云课堂微专业--Java高级开发工程师--多线程并发编程--学习笔记(二)
- Java开发学习笔记之五:Servlet编程API
- JAVA高级01_09 Math与Random类 学习API的方法 2011-4-21
- 18.02.28 文科小白的JAVA学习日记:MAC配置JAVA开发环境
- Tango 开发指南(9) — 区域学习 API (Java 描述)
- 网易云课堂微专业--Java高级开发工程师--多线程并发编程--学习笔记(一)
- Java中高级学习导图:做Java开发如过清晨马路!
- java高级编程学习如何使用打印服务 API
- JavaSE入门学习30:Java常用类之包装类
- java微信开发API解析(三)-高级功能的前奏----获取以及保存接口调用凭证
- java高级开发学习之--反射机制(2)
- Tango 开发指南 — 区域学习 API (Java 描述)
- JAVA学习笔记(十八)- API常用类
- java学习之路 之 Java常用类-包装类(Wrapper)及练习题
- java高级开发学习之--反射机制(3)