Java程序设计入门教程--原始类与包装类

包装类

       Java语言是一个面向对象的语言,但是Java中的基本数据类型却是不面向对象的,这在实际使用时存在很多的不便。

       为了解决这个不足,在设计类时为每个基本数据类型设计了一个对应的类进行代表,这样八个和基本数据类型对应的类统称为包装类(Wrapper Class),有些地方也翻译为封装类或数据类型类。

       包装类均位于java.lang包。


包装类和基本数据类型的对应关系如表所示

基本数据类型

包装类

构造方法

boolean

Boolean

Booleanboolean b)或Boolean(String s)

扫描二维码关注公众号,回复: 15798138 查看本文章

byte

Byte

Byte(byte b) Byte(String s)

char

Character

Character(char c)

short

Short

Short(short s ) Short(String s)

int

Integer

Integer(int i) 或者Integer(String s)

long

Long

Long(long l)或者Long(String s)

float

Float

Float(double d)或者Float(float f)或者Float(String s)

double

Double

Double(double d)或者Double(String s)

        另外还有两个包装类BigInteger、BigDecimal没有相对应的基本类型,主要应用于高精度的运算,BigInteger 支持任意精度的整数, BigDecimal支持任意精度带小数点的运算。


包装类的功能

        包装类属于引用数据类型,具有属性和方法,使用这些方法可以实现很多基本数据类型没有的功能,包装类主要提高以下功能:(1)将基本数据类型包装后,可以当做对象使用;(2)为基本数据类型提供各种转换功能,如将数值转换为字符串,将字符串转换为数值。

        有些数据结构如ArrayList,HashMap等不能存放原值类型,这时只能使用其包装类。

基本数据类型和其包装类间的转换(以Integer类为例)

(1)基本类型转换为包装类型: Integer I=new Integer(primitive value);

(2)包装类型转换为基本类型: int a=I.intValue()

基本类型与包装类型主要异同:
1. Java中,一切皆对象,但八大基本类型却不是对象。

2. 声明方式的不同,基本类型无需通过new关键字来创建,而封装类型需new关键字。

3. 存储方式及位置的不同,基本类型是直接存储变量的值保存在堆栈中能高效的存取,封装类型需要通过引用指向实例,具体的实例保存在堆中。

4. 初始值的不同,封装类型的初始值为null,基本类型的的初始值视具体的类型而定,比如int类型的初始值为0boolean类型为false

5. 使用方式的不同,比如与集合类合作使用时只能使用包装类型。

猜你喜欢

转载自blog.csdn.net/u010764893/article/details/131022924