Java学习笔记十六(包装类)

包装类:


  1、  八大基本数据类型 : byte short int         long  char          double  float  boolean

         对应的包装类:      Byte Short Integer Long Character Double  Float Blooean

  2、  在JDK1.5之后,编译器会自动进行装箱和拆箱(即基本数据类型和包装类之间的转换)

              (1) 装箱: 基本数据类型 -->  包装类    (栈内存  -->  堆内存 )

              (2)   拆箱: 包装类 --> 基本数据类型     (堆内存  -->  栈内存 )

               装箱:   拆箱:

  3、  特点:

                (1)所有的包装类都是final的,因此没有子类。

                (2)  所有的包装类一旦创建,数据类型是不可变的。

                (3)包装类对象都是用构造方法来创建的

                               Integer a = new Integer(4);

                (4)包装类的层次结构:

                               Object --> Number  -->  Byte/Short/Intger/Long/Float

                                                Character

                                                Boolean

                (5)  包装类都方法重写了 Object.toString()

   4、 字符串和基本类型之间的转换:

                (1)字符串转换为基本类型:

                              int num1 = new Integer("10");

                              int num2 = Integer.parseInt("123");

                (2)   基本数据类型转换为字符串:

                              String  s1 = ""+23;

                              String  s2 = Integer.toString(100);

                              String  s3 = String.valueOf(66);

  5、 整数包装类的装箱过程:

                 Integer  a= 5;

                 在这个过程中,如果给a赋值的大小在-128到+127之间时,先去整数常量池中查找是否有值相等的对象,再对5装箱,如果有则不再创建新的常量池,没有则创建存入常量池,如果给a赋值的大小不在这个范围内,则值存在堆里。

  6、 Object类的equals和toString函数:
                 boolean equals(Object obj):
                           return this==obj;
                 比较的是地址信息
                 String toString():返回了对象的一串字符:
                                  类全名@Hash值

                                  com.Person@4E5A;

        通常类会重写equals和toString函数:

                 equals用来比较两个对象的内容
                       1、先判断穿进来的参数是不是this
                       2、判断参数是不是null
                       3、判断参数是不是同一类型
                 toString用来描述对象的内容

猜你喜欢

转载自blog.csdn.net/weixin_40373090/article/details/80637497