• day15


           因为Java是面向对象的语言,所以很多API或新特性都是针对“对象”来设计的,但是Java设计之初时,
           是C语言很盛行的时候,所以Java保留了C语言中的8种基本数据类型,保留它们有好处,速度快,计算方便,
           每一种数据类型都有固定的大小...
           如果我们的数据使用了8种基本数据类型的变量来保存,后面有想使用Java中只针对“对象”来设计的很多API或新特性时,怎么办?
           Java就为8种基本数据类型设计它们的包装类。
          只针对“对象”来设计的很多API或新特性
           例如:集合,泛型只针对引用数据类型

    包装类:为了包装基本数据类型的数据为“对象”。
        byte->Byte
       short->Short
       int->Integer
       long->Long
       float->Float
       double->Double
       char->Character
       boolean->Boolean

      装箱与拆箱:
         装箱:把基本数据类型的数据“包装”为对象,称为装箱    装的目的是为了使用只针对“对象”来设计的很多API或新特性
         拆箱:把包装类的对象“拆开”为基本数据类型的数据,称为拆箱  拆的目的是为了计算简便,高效
     装箱:
         手动装箱:
         Integer i = new Integer(num);
         自动装箱
         Integer j = int的值或变量;
     拆箱:
        手动拆箱:
         int num = Integer的对象.intValue();
       自动拆箱:
         int num = Integer的对象;
        说明:不管是拆箱还是装箱都是对应类型之间的,即
        int -> Integer
        double -> Double
         ....

     数据类型的转换:
       1、基本数据类型之间的转换:自动类型转换与强制类型转换
       2、父子类之间转换:向上转型与向下转型
       3、包装类与基本数据类型之间:装箱与拆箱

    基本数据类型之间的比较:
        ==  比较的是数据值

     包装类之间的比较:
        ==  比较的是地址值
        equals:推荐使用这个
        原因是包装类对象,有一部分是缓存对象,(常量对象)
          Byte:-128~127
          Short:-128~127
          Integer:-128~127
          Long:-128~127
        没有缓存对象:
          Float
          Double
          Character:0~127  最早ASCII码的范围128个字符
          Boolean:true,false

    以:Integer为例
       1、常量
          Integer.MAX_VALUE
          Integer.MIN_VALUE
       2、方法
        (1)比较包装类对象的大小
                 int compareTo(xx)
        (2)和String类型的转换
                A:从String的对象 -> 包装类的对象
                     "123" -> Integer
                    Integer Integer.valueOf(字符串)
               B:从String的对象 -> 基本数据类型
                    "123" -> 123
                     int  Integer.parseInt(字符串) 

               C:把包装类的对象->字符串
                     toString()
               D:把基本数据类型 -》字符串
                        + ""
       (3)转成各种进制的形式

  • 相关阅读:
    Keras学习笔记——Hello Keras
    记一次线上事故的JVM内存学习
    postgresql中的search_path
    CentOS7安装setuptools
    CentOS7安装EPEL的两种方式
    Ncures库的介绍与安装
    CentOs6.5 安装Zlib
    Centos 安装zlib
    Windows如何压缩tar.gz格式
    nginx运行文件出错env: /etc/init.d/nginx: No such file or directory
  • 原文地址:https://www.cnblogs.com/zzz222zzz/p/11610168.html
Copyright © 2020-2023  润新知