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

Posted life is wonderful

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaSE入门学习30:Java常用类之包装类相关的知识,希望对你有一定的参考价值。

       一包装类

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

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

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

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

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

技术分享

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

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

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

      二Integer包装类

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

      Integer包装类的构造方法:

技术分享

      如下代码所示:

技术分享

      Integer包装类的常用方法:

技术分享

      实例:

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);
   }
}

      编译运行结果:

技术分享

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

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

       看下面的代码示例:      

技术分享

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

呢?我们分别来看下:

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

技术分享

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

技术分享

       实例:

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);
   }
}

       编译运行结果:

技术分享

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

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

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

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

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

技术分享

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

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

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

技术分享

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

       实例:

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));
   }
}

       编译运行结果:

技术分享

       五包装类总结

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

技术分享

       Number类的成员方法:

技术分享

技术分享

技术分享

       (2)Character类

       1转义序列

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

技术分享

       2Character类的成员方法:

技术分享





















以上是关于JavaSE入门学习30:Java常用类之包装类的主要内容,如果未能解决你的问题,请参考以下文章

JavaSE入门学习27:Java常用类之String类(上)

JavaSE入门学习29:Java常用类之StringBuffer类和StringBuilder类

Java全栈JavaSE:19.常用类之大数运算日期和日历包装类

Java全栈JavaSE:17.常用类之Object类String类StringBuilder类

Java全栈JavaSE:18.常用类之System类Math类数组相关操作字符串相关操作

JavaSE入门学习13:Java面向对象之封装