• 【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");//不合法

    感谢观看!!!

  • 相关阅读:
    OS10 - 计数器和警报(1)
    闲话Python编程-字典dict
    leetcode/求平方根
    【Flask基础】六,拦截器/请求钩子(全局+模块+资源选择性放行)
    C++多重继承解决方法
    CompletableFuture 和 Future 的选择,以及CompletableFuture的用法
    关于df[‘某一列名’][序号]
    php常见的危险函数
    看界面控件DevExpress WinForms如何创建一个虚拟键盘
    Nginx —— Win下搭建http-flv服务,使用FFmpeg/Tomcat对http推拉流
  • 原文地址:https://blog.csdn.net/qq_64976935/article/details/125467526