当前位置:首页 > 科技新闻 > 编程语言 > 正文

《JavaSE基础知识细节》:包装类全细节归纳(5000字超详解)
2022-05-11 10:57:24

目录

​​一、基本介绍​​

​​1、什么是包装类​​

​​2、基本分类​​

​​3、拆箱与装箱​​

​​二、Integer 类​​

​​1、基本介绍​​

​​2、常用方法​​

​​3、常量​​

​​三、Boolean 类 ​​

​​四、Byte 类 ​​

​​五、Double 类 ​​

​​五、Character 类 ​​


一、基本介绍


1、什么是包装类

    ​​​​    ▶ Java中的基本数据类型是没有方法和属性的,使用基本数据类型在于效率,然而很多情况,会创建对象来使用,因为对象可以做更多的功能。于是Java设计者为了实现对象化交互,设计了包装类,而包装类就是为了让这些拥有方法和属性。


        ▶ Java提供了两种类型的系统,基本类型与引用类型,如果想要我们的基本类型像对象一样操作,就可以使用基本类型对应的包装类,其中数值型包装类都继承至 Number类,而字符型和布尔型继承至 Object类。其实这些类就是封装不同的数据类型,其中包含的方法基本相同。




2、基本分类

基本数据类型

包装类

boolean

Boolean

char

Character

byte

Byte

short

Short

int

Integer

long

Long

float

Float

double

Double




3、拆箱与装箱

€€ 基本概述:


        ▶ 基本类型与对应的包装类对象之间,来回转换的过程称为”装箱“与”拆箱“,

              解释:

                >﹥ 装箱:从基本类型转换为对应的包装类对象。
                >﹥ 拆箱:从包装类对象转换为对应的基本类型。


         ▶ 注意:


                 >﹥  jdk5 前,是手动装箱和拆箱


                 >﹥  jdk5 后,就可以自动装箱和自动拆箱






€€  int ← 相互转换 → Integer  ==》代码示例:



//手动装箱 int->Integer 

Integer integer = new Integer(100); //使用构造函数
Integer integer1 = Integer.valueOf(100); //使用包装类中的valueOf方法


//手动拆箱 Integer -> int

int i = integer.intValue(); //使用intValue()方法
//自动装箱 int->Integer 
Integer integer2 = 100; //底层使用的是 Integer.valueOf(n2)


//自动拆箱 Integer->int
int n3 = integer2; //底层仍然使用的是 intValue()方法
Integer io = 1;//自动装箱,相当于Integer io = Integer.valueOf(4);


//等号右边:将i对象转成基本数值(自动拆箱) io.intValue() + 1;
io = io + 1;
//加法运算完成后,再次自动装箱,把基本数值转成对象。


€€ 三目运算符的细节:


Object obj1 = true ?new Integer(1) : new Double(2.0);


        培培解析:此处为真,和很多人肯定毫无疑问的直接说结果为 1 ,然而却是错的,因为三目运算符会自动提高精度,即由 int 转成 double ,所以输出结果为 1.0




€€ 包装类和String类型相互转换:


        ~包装类(Integer)转成String的三种方式      


Integer io = 100; //自动装箱

//第一种方式,加空字符串
String str1 = io + "";

//第二种方式,调用toString方法
String str2 = io.toString();

//第三种方式,调用valueOf(i)
String str3 = String.valueOf(i);


        ~String 转换成 包装类(Integer) 


String str = "12345"; 

//方法1:使用到自动装箱,通过Integer静态方法parseInt()进行转换
Integer i1 = Integer.parseInt(str);


//方法2:构造器
Integer i2 = new Integer(str);


//方式3:String --﹥ Integer --﹥ int
Integer i3 = Integer.valueOf(str);
int i4= i3.intValue(); //调用的方法:public int intValue()







二、Integer 类


1、基本介绍

▶ 概述:

        Integer 类在对象中包装了一个基本类型 int 的值。该类的对象包含一个 int 类型的字段。该类提供了多种方法,能在int 类型和String 类型之间进行转换,同时还提供了处理int

类型时常用的常量和方法。 


▶ 构造方法:

       ▷ Integer(int number): 该方法以一个int型变量作为参数来获取Ineger 对象。

           代码示例:


Integer number = new Integer (3) ;


        ▷ Integer(String str): 该方法以一 个String型变量作为参数来获取Integer对象。(注意:要用数值类型String型变量作为参数,否则会抛出NumberFormatException异常)

            代码示例:


Integer number = new Integer ("3");


2、常用方法

方法

功能描述

byteValue()

以byte类型返回该Integer的值

Int compareTo(Integer anotherinteger)

在数字上比较两个Integer对象。如果这两个值相等,则返回0;如果调用对象的数值小于anothertnteger的数值,则返回负值:如果调用对象的数值大于anotherInteger的数值,则返回正值

boolean equals(Object IntegerObj)

比较此对象与指定的对象是否相等

int intValue()

以int型返回此Integer对象

short shortValue()

以short型返回此Integer对象

String toString()

返回一个表示该Integer值的String对象

Integer valueOf(String str)

返回保存指定的String 值的Integer 对象

int parseInt(String str)

返回包含在由str指定的字符串中的数字的等价整数值




3、常量

        ▷ MAX_VALUE: 表示int类型可取的最大值。

        ▷ MIN_VALUE: 表示int类型可取的最小值。
        ▷ SIZE: 用来以二进制补码形式表示int 值的位数。
        ▷ TYPE: 表示基本类型int的Class实例。


//返回最小值 
System.out.println(Integer.MIN_VALUE);


//返回最大值
System.out.println(Integer.MAX_VALUE);




三、Boolean 类 


1、构造方法:

        ▶ Boolean(boolean value): 该方法创建个 表示value参数的Boolean对象。
            代码示例:


Boolean b = new Boolean (true) ;


        ▶ Boolean(String str): 该方法以String变量作为参数创建Boolean对象。如果String 参数不为null,且在忽略大小写时等于true,则分配一个表示true值的Boolean对象;否则获得一个false 值的Boolean对象。
            代码示例:


Boolean bool = new Boolean ("Java");


2、常用方法:

方法

功能描述

boolean booleanValue()

将Boolean对象的值以对应的boolean值返回

boolean equals(Object obj)

判断调用该方法的对象与obj 是否相等。当且仅当参数不是null, 而且与调用该方法的对象一样都表示同一个Boolean值的boolean对象时,才返回true

boolean parseBoolean(String s)

将字符串参数解析为boolean值

String toString()

返回表示该布尔值的String对象

Boolean valueOf(String s)

返回一个用指定的字符串表示值的boolean值




3、常量:
        ▷ TRUE: 对应基值true的Boolean对象。

        ▷ FALSE: 对应基值false的Boolean对象。

        ▷ TYPE: 基本类型boolean的Class对象。



四、Byte 类 


1、构造方法


         ▶ Byte(byte value):通过这种方法创建的Byte对象,可表示指定的byte值。

              代码示例:


byte mybyte = 4;

Byte b = new Byte (mybyte);


          ▶ Byte(String str):通过这种方法创建的Byte 对象,可表示String参数所指示的byte值。

              代码示例:


Byte mybyte = new Byte ("4");


2、常用方法

方法

功能描述

byte byteValue()

以一个byte值返回Byte对象

int compare To(Byte anotherByte)

在数字上比较两个Byte对象

double doubleValue()

以一个double值返回此Byte的值

Int intValue()

以一个int值返回此Byte的值

byte parseByte(String s)

将String型参数解析成等价的字节(byte) 形式

String toString()

返回表示此Byte的值的String对象

Byte valueOf(String str)

返回一个保持指定String所给出的值的Byte对象

boolean equals(Object obj)

将此对象与指定对象比较,如果调用该方法的对象与obj相等,则返回true;否则返回false




3、常量

         ▷ MIN_VALUE: byte类型可取的最小值。
         ▷ MAX_VALUE: byte类型可取的最大值。
         ▷ SIZE: 用于以二进制补码形式表示 byte 值的位数。
         ▷ TYPE: 表示基本类型 byte 的 Class实例。



五、Double 类 


1、构造方法

        ▶ Double(double value): 基于 double参数创建Double类对象。

        ▶ Double(Sring str): 构造一个新分配的 Double对象,表示用字符串表示的double类
 型的浮点值。




2、常用方法

方法

功能描述

 byte byteValue()

以 byte 形式返回 Double对象值(通过强制类型转换)

 int compareTo(Double d)

 对两个 Double 对象进行数值比较。如果两个值相等,则返回0;如果调用对象的数值小于d的数值,则返回负值;如果调用对象的数值大于d的值,则返回正值

boolean equals(Object obj)

 将此对象与指定的对象相比较

 int intValue()

 以 int 形式返回 double 值

boolean isNaN()

 如果此 double值是非数字(NaN)值,则返回 tue;否则返回 false

 String toString()

 返回此 Double 对象的字符串表示形式

Double valueOf(String str)

 返回保存用参数字符串str表示的 double值的 Double 对象

double doubleValue()

 以 double形式返回此 Double 对象

 long long Value()

以 long形式返回此 double 的值(强制转换为 long类型)




3、常量

        ▷ MAX_EXPONENT : 返回int值,表示有限double变量可能具有的最大指数。

        ▷ MIN_EXPONENT : 返回int值,表示标准化double变量可能具有的最小指数。

        ▷ NEGATIVE_INFINITY : 返回double值,表示保存double类型的负无穷大值的常量。

        ▷ POSITIVE_INFINITY : 返回double值,表示保存double类型的正无穷大值的常量。



五、Character 类 


1、构造方法
        ▶ Character (char value): 该类的构造方法的参数必须是一一个 char类型的数据。通过该构造方法创建的Character类对象包含由char类型参数提供的值。一日Character类被创建,它包含的数值就不能改变了。

        代码示例:


Character mychar = new Character('s');


2、常用方法

方法

功能描述

char charvalue()

返回此Character对象的值

int compareTo(Character anotherCharacter)

根据数字比较两个Character对象,若这两个对象相等则返回0

Boolean equals(Object obj)

将调用该方法的对象与指定的对象相比较

char toUpperCase(char ch)

将字符参数转换为大写

char toLowerCase(char ch)

将字符参数转换为小写

String toString()

返回一个表示指定char值的String对象

char charValue()

返回此Character对象的值

boolean isUpperCase(char ch)

判断指定字符是否是大写字符

boolean isLowerCase(char ch)

判断指定字符是否是小写字符




3、常量

        ▷ CONNECTOR_PUNCTUATION : 返回byte型值,表示Unicode规范中的常规类别"Pc”。        

        ▷ UNASSIGNED : 返回byte型值,表示Unicode规范中的常规类别“Cn”。
        ▷ TITLECASE_LETTER : 返回byte型值,表示Unicode规范中的常规类别“Lt”。



本文摘自 :https://blog.51cto.com/u