《JavaSE基础知识细节》:包装类全细节归纳(5000字超详解)

[♡作者主页♡] :小黎的培培笔录

[♡作者介绍♡] :大一小白,专注于Java领域的创作,认证:华为云-云享专家、阿里云-云享专家、阿里云星级博主。

[♡邀请♡] :有志同道合的朋友可以加个QQ:2776680982,一起讨论、学习、进步、加油。

 

目录

一、基本介绍

1、什么是包装类

2、基本分类

3、拆箱与装箱

二、Integer 类

1、基本介绍

2、常用方法

3、常量

三、Boolean 类 

四、Byte 类 

五、Double 类 

五、Character 类 


一、基本介绍

1、什么是包装类

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

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


2、基本分类

基本数据类型包装类
booleanBoolean
charCharacter
byteByte
shortShort
intInteger
longLong
floatFloat
doubleDouble

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”。

  • 108
    点赞
  • 90
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 148
    评论
评论 148
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小黎的培培笔录

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值