JavaSE入门学习30:Java常用类之包装类

时间:2023-02-27 15:16:11

       一包装类

      我们对基本数据类型都非常熟悉,例如int、float、double、boolean、char等。基本数据类型是不具备对象的特性

的,比如基本类型不能调用方法、功能简单。为了让基本数据类型也具备对象的特性,Java为每个基本数据类型都提

供了一个包装类,这样我们就可以像操作对象那样来操作基本数据类型。 

      包装类(如:Integer,Double等)这些类封装一个相应的基本数据类型数值,并为其提供了一系列操作。

      基本类型和包装类之间的对应关系:

JavaSE入门学习30:Java常用类之包装类

      包装类主要提供了两大类方法:

      1将本类型和其他基本类型进行转换的方法;

      2将字符串和本类型及包装类互相转换的方法。

      二Integer包装类

      我们以java.lang.Integer包装类为例,来看下包装类的特性。

      Integer包装类的构造方法:

JavaSE入门学习30:Java常用类之包装类

      如下代码所示:

JavaSE入门学习30:Java常用类之包装类

      Integer包装类的常用方法:

JavaSE入门学习30:Java常用类之包装类

      实例:

public class Test{
public static void main(String args[]){
//定义int类型变量,值为86
int score1 = 86;

//创建Integer包装类对象,表示变量score1的值
Integer score2=new Integer(score1);

//将Integer包装类转换为double类型
double score3=score2.doubleValue();

//将Integer包装类转换为float类型
float score4=score2.floatValue();

//将Integer包装类转换为int类型
int score5 =score2.intValue();

//输出结果
System.out.println("Integer包装类:" + score2);
System.out.println("double类型:" + score3);
System.out.println("float类型:" + score4);
System.out.println("int类型:" + score5);
}
}

      编译运行结果:

JavaSE入门学习30:Java常用类之包装类

       三基本类型和包装类之间的转换

       基本类型和包装类之间经常需要互相转换,还是以Integer包装类为例来进行讲解,其他包装类的用法基本相似。

       看下面的代码示例:      

JavaSE入门学习30:Java常用类之包装类

       在JDK1.5引入自动装箱和拆箱的机制后,包装类和基本类型之间的转换就更加轻松便利了。那什么是装箱和拆箱

呢?我们分别来看下:

       装箱:把基本类型转换成包装类,使其具有对象的性质,又可分为手动装箱和自动装箱。

JavaSE入门学习30:Java常用类之包装类

       拆箱:和装箱相反,把包装类对象转换成基本类型的值,又可分为手动拆箱和自动拆箱。

JavaSE入门学习30:Java常用类之包装类

       实例:

public class Test{
public static void main(String args[]){
//定义double类型变量
double a = 91.5;

//手动装箱
Double b = new Double(a);

//自动装箱
Double c = a;


System.out.println("装箱后的结果为:" + b + "和" + c);

//定义一个Double包装类对象,值为8
Double d = new Double(87.0);

//手动拆箱
double e = d.doubleValue();

//自动拆箱
double f = d;

System.out.println("拆箱后的结果为:" + e + "和" + f);
}
}

       编译运行结果:

JavaSE入门学习30:Java常用类之包装类

       四基本类型和字符串之间的转换

       在程序开发中,我们经常需要在基本数据类型和字符串之间进行转换。其中,基本类型转换为字符串有三种法:

       1使用包装类的toString()方法;

       2使用String类的valueOf()方法;

       3用一个空字符串加上基本类型,得到的就是基本类型数据对应的字符串。

JavaSE入门学习30:Java常用类之包装类

       再来看,将字符串转换成基本类型有两种方法:

       1调用包装类的parseXxx静态方法;

       2调用包装类的valueOf()方法转换为基本类型的包装类,会自动拆箱。

JavaSE入门学习30:Java常用类之包装类

       其他基本类型与字符串的相互转化这里不再一一列出,方法都类似。

       实例:

public class Test{
public static void main(String args[]){
double m = 78.5;
//将基本类型转换为字符串
String str1 = Double.toString(m);

System.out.println("m 转换为String型后与整数20的求和结果为: "+(str1+20));

String str = "180.20";
//将字符串转换为基本类型
Double a = Double.valueOf(str);

System.out.println("str 转换为double型后与整数20的求和结果为: "+(a+20));
}
}

       编译运行结果:

JavaSE入门学习30:Java常用类之包装类

       五包装类总结

       (1)所有的包装类(Integer、Long、Byte、Double、Float、Short)都是抽象类Number的子类。

JavaSE入门学习30:Java常用类之包装类

       Number类的成员方法:

JavaSE入门学习30:Java常用类之包装类

JavaSE入门学习30:Java常用类之包装类

JavaSE入门学习30:Java常用类之包装类

       (2)Character类

       1转义序列

       前面有反斜杠(\)的字符代表转义字符,它对编译器来说是有特殊含义的。下面列表展示了Java的转义序列:

JavaSE入门学习30:Java常用类之包装类

       2Character类的成员方法:

JavaSE入门学习30:Java常用类之包装类