关于java包装的定义?

Python018

关于java包装的定义?,第1张

Java有八种基本类型,每种基本类型都有一个对应的包装类。

包装类是什么呢?它是一个类,内部有一个实例变量,保存对应的基本类型的值,java课程培训机构http://www.kmbdqn.cn/发现这个类一般还有一些静态方法、静态变量和实例方法,以方便对数据进行操作

Java中,基本类型和对应的包装类如下表所示:

基本类型包装类

boolean

Boolean

byte

Byte

short

Short

int

Integer

longLong

floatFloat

doubleDouble

charCharacter

包装类也都很好记,除了Integer和Character外,其他类名称与基本类型基本一样,只是首字母大写。

包装类有什么用呢?Java中很多代码(比如后续文章介绍的集合类)只能操作对象,为了能操作基本类型,需要使用其对应的包装类,另外,包装类提供了很多有用的方法,可以方便对数据的操作。

包装类的基本使用是比较简单的,但我们不仅会介绍其基本用法,还会介绍一些平时用的相对较少的功能,同时剖析其实现代码,内容比较多,我们会分三节来介绍,本节主要介绍各个包装类的基本用法及其共同点,后两节我们会进一步介绍高级功能,并剖析实现代码。

在Java中我们经常会见到一些基本的数据类型,比如整数类型(int),小数类型(double,float)等,但是Java是一门面向对象的语言,很多的类型都是以对象的形式展现,像这些数据类型也可以有自己的对象每个类型的对应包装类型为:int->Integer double->Double float->Float char->Character short->Short boolean->Boolean byte->Byte

我们用包装类将这些类型封装好之后,就可以使用对象的一些属性和方法,可以方便的操作这些对象

在这些包装类中,我们可以将这些包装类对象和基本数据类型进行转换,也叫做装箱操作和拆箱操作:装箱操作就是将基本数据类型转换为包装类型,例如将基本数据类型int转换成包装类Integer,装箱操作有两种方式,手动装箱与自动装箱,自动装箱就是直接将基本数据类型赋值给包装类型对象即可手动装箱就是创建一个包装类对象,然后将值赋值给该对象

int value1 = 10

Integer value2 = value1// 自动装箱

Integer value3 = new Integer( value1 )// 手动装箱

有了装箱操作也就有拆箱操作,拆箱操作的意思就是将包装类型转换为基本数据类型拆箱操作也有两种方式:手动拆箱与自动拆箱

int value4 = value2// 自动拆箱,直接将包装类对象赋值给基本数据类型变量

Int value5 = value2.intValue()// 手动拆箱,调用包装类的intValue()方法,获取变量值

包装类也是一个普通的类,当然也有类的基本属性,方法数值类型的包装类继承的父类是Number类,这个类里面有一些基本的方法,比如获取intValue的值,longValue的值等等

包装类继承Number之后,也会有一些自己的属性方法,比如Integer类有自己的一些属性,可以将整数转换为字符串,也可以将字符串转换成整数等操作

Integer常用方法

比较两个数的大小,如果第一个数小于第二个数返回-1如果两个数相等返回0如果第一个数大于第二个数返回1

public static int compare(int x, int y)

将数值字符串转换为数字,如果传入的参数中包含非数字的字符,则会报出异常

public static int parseInt(String s)

将整数类型转换为字符串类型

public String toString()

valueOf返回Integer类型的数据,根据参数返回不同的结果

public static Integer valueOf(String s, int radix)

public static Integer valueOf(String s)

public static Integer valueOf(int i)

除了Integer之外,其他的包装类例如Long, Double也都有类似的功能

包装类型除了基本数值类型的包装类之外,还有boolean, char的包装类,这两个类都是普通的封装,并没有继承Number类

使用包装类的使用,进行两个对象的判断,需要使用equals方法进行判断,不可以使用==,当Integer值的范围在-128到127(包含)之间的时候,使用==返回true,但是不在这个返回的时候,返回false