• JAVA 包装类


    JAVA 包装类

    包装类

    • 其实就是8种基本数据类型对应的引用类型。

    • 基本数据类型引用数据类型
      byteByte
      shortShort
      intInteger
      longLong
      charCharacter
      floatFloat
      doubleDouble
      booleanBoolean

    为什么提供包装类?

    • java为了实现一切皆对象,为8种基本类型提供了对应的引用类型
    • 后面的集合和泛型其实也只能支持包装类,不支持基本数据类型

    **自动装箱:**基本类型的数据和变量可以直接赋值给包装类型的变量

    **自动拆箱:**包装类型的变量可以直接赋值给基本数据类型的变量

    包装类的特有功能

    • 包装类的变量的默认值可以是Null,容错率更高
    • 可以把基本类型的数据转换成字符串类型(用处不大)
    //1.调用toString()方法得到字符串结果
    Integer i = 12;
    String s = i.toString();
    
    //2.调用Integer.toString(基本数据类型)。
    String s = Integer.toString(12);
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 可以把字符串类型的数值转换成真实的数据类型

      //1.Integer.parseInt("字符串类型");
      String s = "23";
      int i = Integet.parseInt(s); //23
      
      //2.Double.parseDouble("字符串类型的小数");
      String s = "23.1";
      double d = Double.parseDouble(s); //23.1
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7

      总结

      1. 包装类是什么,目的是什么?
        • 基本数据类型对应的引用类型
        • 实现一切皆对象
        • 后期集合和泛型不支持基本数据类型,只能使用包装类
      2. 包装类有哪些特殊功能
        • 可以把基本数据类型的数据转换成字符串类型(用处不大)
        • 可以把字符串类型的数据转换成真实的数据类型

      使用实例

      package com.itheima.d3_Integer;
      /**
       * 目标:掌握包装类的概念与基本使用
       * */
      
      public class Test {
          public static void main(String[] args) {
              int i = 23;
              System.out.println(i);
              Integer i1 = i; //自动封箱
              i1 = i;  //自动装箱
      
              System.out.println("-------------");
              /*包装类的变量的默认值可以是Null,容错率更高*/
              Integer i2 = null;
              //int i3 = null;  //error
      
              /*可以把基本类型的数据转换成字符串类型*/
              int i4 = 2555;
              Integer i5 = 12;
              String s = Integer.toString(i4);
              String s1 = i5.toString(i4);
              System.out.println(s1 + 1); //2551
              System.out.println(s + 1);  //2551
      
              /*可以把字符串类型的数值转换成真实的数据类型*/
              System.out.println("----------------------------");
              String s2 = "123";
              String s3 = "123.1";
              System.out.println(Integer.parseInt(s2)); //123(int)
              System.out.println(Integer.valueOf(s2));  //123(int)
              System.out.println(Double.parseDouble(s3)); //123.1(double)
              System.out.println(Double.valueOf(s3));  //123,1(double)
      
      
          }
      }
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11
      • 12
      • 13
      • 14
      • 15
      • 16
      • 17
      • 18
      • 19
      • 20
      • 21
      • 22
      • 23
      • 24
      • 25
      • 26
      • 27
      • 28
      • 29
      • 30
      • 31
      • 32
      • 33
      • 34
      • 35
      • 36
      • 37
  • 相关阅读:
    单个Nginx发布多个react静态页面
    【场景化解决方案】OA审批与金智CRM数据同步
    文本相似度易语言查询代码
    太速科技-基于3U VPX的 Jetson Xavier NX GPU计算主板
    冠达管理:有色金属迎顺周期行情 板块估值降至历史低位
    一个依赖搞定-Spring-Boot-反爬虫,防止接口盗刷!,不愧是阿里P8
    Jacoco—代码增量覆盖率踩过的坑
    Ubuntu 18.04无网络连接的n种可能办法
    刷爆 LeetCode 周赛 339,贪心 / 排序 / 拓扑排序 / 平衡二叉树
    基于模板匹配的手写字体数字识别-含Matlab代码
  • 原文地址:https://blog.csdn.net/weixin_45102678/article/details/126377031