包装类:用于将基本类型参与到面向对象的开发;将一个字符串转换为基本类型
| 基本类型 | 包装类 | 父类 |
| byte | java.lang.Byte | java.lang.Number |
| short | java.lang.Short | java.lang.Number |
| int | java.lang.Interger | java.lang.Number |
| long | java.lang.Long | java.lang.Number |
| double | java.lang.Double | java.lang.Number |
| float | java.lang.Float | java.lang.Number |
| char | java.lang.Character | java.lang.Object |
| boolean | java.lang.Boolean | java.lang.Object |
Number类
存在intValue()、doubleValue()、UTFValue()方法,主要用于实现int和Interger之间的转化,返回一个int、doubleUTF值
同时ParseInt()、ParseDouble()、ParseUTF()方法将以字符串类型描述的int、double值转化为int、double类型、UTF类型的数值,是一个静态方法
包装类的构造方法:
(1)所有的包装类都可以用和它对应的基本类型数据作为参数,来构造它们的实例
(2)除Character类以外,其他包装类都可以用一个字符串座位参数来构造它们的实例,但是这个字符串不能为空,且必须可以解析为相对应的基本数据类型。
(3)Boolean类型用字符串座位参数时,若字符串的内容为true(无论大小写),Boolean表示的对象都为true。
所有的包装类都是final类型,不可继承,对象不可改变
所有的包装类都覆盖了Object类型的toString(),以字符串的形式返回基本类型。
static void valueOf(String str)用于将字符串类型转换为当前类型,常见于自动拆装箱
在自动拆装箱时,各个包装类中都有一定的缓存,当我们自动拆装箱时,先在缓存中查找是否有这个值,如果有那么,只需创建一个对象,返回同一个对象,如果超出了缓存则需重新创建对象。跟常量池差不多。
| int | -128-127 |
| byte | -128-127 |
| short | -128-127 |
| long | -128-127 |
| char | 0-127 |
| boolean | -128-127 |
| double和float | 无 |
<span style="font-size:18px;"><span style="font-size:14px;">package com.blogs.yuan;
/**
* 该类为了演示包装类
* @author a
*
*/
public class WrapperDemo {
public static void main(String[] args) {
int ii = 129;
Integer integer = new Integer(ii); //创建Integer对象,赋值为129
System.out.println(integer == ii); //true
int j = integer.intValue(); //将Integer类型转换为基本类型
System.out.println(j == ii); //true
Integer i = 100; //i装箱,相当于Integer i = Integer.valueOf(100)
Integer m = 100;
System.out.println(i == m); //true,i和m自动拆箱比较,i引用和m引用指向同一对象,100在缓存范围中
i = 200;
m = 200;
System.out.println(i == m); //false,200已经超出缓存范围了,故i,m装箱为了两个对象
String string = "123";
int a = Integer.parseInt(string);<span style="white-space:pre"> </span>//将字符串描述的纯数字转换为int类型
System.out.println(string instanceof String); //true
System.out.println(a); //这里的a为int基本类型,不能用intanceof判断
}
}</span></span>
本文深入探讨Java包装类的概念,解释如何将基本类型转换为包装类,以及包装类的构造方法、缓存机制和自动拆装箱过程。通过代码示例展示了如何使用包装类进行数据类型转换和比较。
1467

被折叠的 条评论
为什么被折叠?



