欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

12.JAVA-基本数据类型的包装类操作

程序员文章站 2022-07-01 23:15:48
1.基本数据类型的包装类 java是一个面向对象编程语言,也就是说一切操作都要用对象的形式进行.但是有个矛盾: 基本数据类型(char,int,double等)不具备对象特性(不携带属性和方法) 这样非面向对象的基本数据类型,由于没有附带对象方法,比如没有toString(),则会给用户带来非常不便 ......

1.基本数据类型的包装类

java是一个面向对象编程语言,也就是说一切操作都要用对象的形式进行.但是有个矛盾:

  • 基本数据类型(char,int,double等)不具备对象特性(不携带属性和方法)

这样非面向对象的基本数据类型,由于没有附带对象方法,比如没有tostring(),则会给用户带来非常不便.

所以从jdk1.0开始,java专门给出了8种基本数据类型的包装类,如下所示:

类型

基本数据类型名

对应的包装类名

布尔型

boolean

boolean

字符型

char

character

短整型

short

short

整型

int

integer

长整型

long

long

单精度浮点型

float

float

双精度浮点型

double

double

 

2.包装类之string转换操作

在基本数据类型的8个包装类中,一共有7个类都定义了xxx(string s)构造方法和parsexxx(string s)方法,它们功能就是实现将字符串变为指定xxx类型的数据,只有character类没有,因为它本身就是字符类,

并且所有包装类,都实现了tostring()方法

 

3.包装类的装箱和拆箱操作

  • 装箱操作 : 将基本数据类型变为包装类
  • 拆箱操作 : 将包装类中的数据取出到基本数据中

ps: java包装类提供自动装箱和自动拆箱机制,能够直接对包装类对象进行数学计算

示例-double与double之间的操作

         //手动装箱
         double obj1 = new double("1.234");
         double obj2 = new double(1.234);

         system.out.println(obj1.equals(obj2));    //打印true
         system.out.println(obj1==obj2);           //打印false,因为obj1和obj2的地址不同
         system.out.println(obj1*2);               //直接进行数学计算, 打印2.468

         //自动装箱
         double obj3 = 12.3;                         //等价于double obj2 = new double(12.3);

         //自动拆箱
         double d = obj3;                      //d = 12.3

         //手动拆箱
         d = obj3.doublevalue() ;         //d = 12.3

 

4.利用object类来接收所有包装类

由于包装类的超类都是object,所以我们可以通过object参数,便能实现所有包装类的一致性

示例如下:

public class test
{
         public static void print(object obj)  //打印所有包装类的信息
         {
                  system.out.println(obj.tostring());
         }

         public static void main(string args[]){
                  boolean obj1 = true;
                  integer obj2 = 10;
                  double  obj3 = 1.234;
           
                  print(obj1);
                  print(obj2);
                  print(obj3);
         }
}

未完待续