• 【Java基础】包装类


    Java 中有 8 个基本类型,分别对应的包装类如下:

    byte -- Byte
    boolean -- Boolean
    short -- Short
    char -- Character
    int -- Integer
    long -- Long
    float -- Float
    double -- Double
     

    为什么要有包装类:

    基本数据类型方便、简单、高效,但泛型不支持、集合元素不支持
    不符合面向对象思维
    包装类提供很多方法,方便使用,如 Integer 类 toHexString(int i)、parseInt(String s) 方法等等

    接下来以int基本类型与对应的包装类Integer为例看一下装箱,拆箱的过程:

    1. public class Demo03 {
    2. public static void main(String[] args) {
    3. int a = 20;
    4. //自动装箱:基本类型的变量a赋值给Integer类型的变量b
    5. Integer b = a;
    6. System.out.println(b);
    7. //自动装箱:将Integer类型的变量b赋给基本类型的变量c
    8. int c = b;
    9. System.out.println(c);
    10. }
    11. }

    运行结果:

    Java中除了支持基本数据类型与对应包装类之间进行转换,还提供其他方法来支持基本数据类型,基本数据包装类以及字符类之间的相互转换。

    1. public class Demo11 {
    2. public static void main(String[] args) {
    3. int num = 123;
    4. //通过String.valueOf()方法将基本类型转换为字符串
    5. String string = String.valueOf(num);
    6. System.out.println("将int类型转换为字符串的结果:"+string);
    7. //通过包装类的valueOf()静态方法将基本类型的字符串转换为包装类
    8. String str = "998";
    9. Integer integer = Integer.valueOf(num);
    10. Integer integer2 = Integer.valueOf(str);
    11. System.out.println("将int类型转换为包装类的结果:"+integer);
    12. System.out.println("将字符串变量转换为包装类的结果:"+integer2);
    13. //通过包装类的有参构造方法将基本类型和字符串转换为包装类
    14. Integer integer3 = new Integer(num);
    15. Integer integer4 = new Integer(str);
    16. System.out.println("通过构造器将int类型转换为包装类的结果:"
    17. +integer3);
    18. System.out.println("通过构造器将int类型转换为包装类的结果:"
    19. +integer4);
    20. //通过包装类的parseXxx()静态方法将字符串转换为基本数据类型
    21. int parseInt = Integer.parseInt(str);
    22. System.out.println("将字符串转换为基本类型的结果:"+parseInt);
    23. //通过包装类的toString()方法将包装类转换为字符串
    24. String string2 = integer.toString();
    25. System.out.println("将包装类装换为字符串的结果:"+string2);
    26. }
    27. }

     运行结果:

     

    注:

    ①除了Chareter外,包装类都有valueOf(String s)方法,可以根据Sring类型的参数创建包装类对象,但参数字符串s不能为null, 而且字符串必须是可以解析为相应基本类型的数据.否则虽然编译通过,但运行时会报错。具体示例如下:

    1. Integer i = Integer.valueOf("123");//合法
    2. Integer i = Integer.valueOf("12a");//不合法

    ②除了Character外,包装类都有parseXxx(String s)的静态方法,将字符串转换为对应的基本类型的数据。参数s不能为null,而且同样必须是可以解析为相应基本类型的数据,否则虽然编译通过,但运行时会报错。具体示例如下:

    1. int i = Integer.parseInt("123");//合法
    2. Integet in = Integet.parseInt("itcast");//不合法

    感谢观看!!!

  • 相关阅读:
    PIL中的paste方法拼接透明背景照片
    LeetCode 面试题 16.07. 最大数值
    SAP中使用动态内表
    SpringAMQP之队列和交换机
    【Obsidian】中编辑模式和阅读模式光标乱跳问题以及编辑模式中段落聚集的问题解决
    HashMap在JDK1.7和JDK1.8中有哪些不同?HashMap的底层实现
    49 多个 classloader 加载的同类限定名的Class 在 jhat 中显示不全
    GSCoolink GSV6183 带嵌入式MCU的MIPI D-PHY 转 DP/eDP
    Xcode 15 运行<iOS 14, 启动崩溃问题
    基于.NetCore开发博客项目 StarBlog - (6) 页面开发之博客文章列表
  • 原文地址:https://blog.csdn.net/qq_64976935/article/details/125467526