• Java——包装类


    Java包装类

    在Java中,很多类的方法都需要接收引用类型的对象,此时就无法将基本类型的数据传入。
    为了解决这样的问题,JDK中提供了一系列的包装类——————将基本数据类型的 值 转化为引用数据类型的 对象。


    在这里插入图片描述

    public class Demo01 {
        public static void main(String[] args) {
            typeChange();
            stringToInt();
        }
    
        //"装箱"与"拆箱"
        public static void typeChange(){
            //装箱————将基本数据类型int 转化为引用类型Integer
            int a = 10;
            Integer integer1 = Integer.valueOf(a);
            System.out.println(integer1);
            /*这种装包方法已不适合使用——————Integer integer = new Integer(a);
            It is rarely appropriate to use this constructor.
            The static factory valueOf(int) is generally a better choice, as it is likely
            to yield significantly better space and time performance.
            很少适合使用这个构造函数。静态工厂valueOf(int)通常是更好的选择,产生更好的空间和时间性能*/
    //-----------------------------------------------------------------------------------
            //拆箱————将引用数据类型Integer转化为基本数据类型 int
            Integer integer2 = Integer.valueOf(20);
            int b = 20;
            //intValue方法将Integer 转 int
            int sum = b + integer2.intValue();
            System.out.println(sum);
    
        }
        //parseInt静态方法——将String 转成Int
        public static void stringToInt(){
            int height = Integer.parseInt("5");
            int weight = Integer.parseInt("6");
            for (int i = 0; i < height; i++) {
                StringBuffer stringBuffer = new StringBuffer();
                for (int j = 0; j < weight; j++) {
                    stringBuffer.append("*");
                }
                System.out.println(stringBuffer);
            }
        }
    }
    
    • 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
    • 38
    • 39

    在这里插入图片描述
    在这里插入图片描述

    package com.yushifu.javaAPI.packageclass;
    
    public class Demo02 {
        public static void main(String[] args) {
            //包装类Tips:
            //1,包装类都重写了Object类中的toString()方法,以字符串的形式返回被包装的基本数据类型的值
    
            //2.除了Character外,包装类都有valueOf(String s)方法,可以根据String类型的参数创建包装类对象,
            //  但s不能为null ,且必须是可以解析为相应基本类型的数据,否则虽然编译通过,但是运行时会报错
            int a = Integer.valueOf("123");//true
            //Exception in thread "main" java.lang.NumberFormatException: For input string: "12a"
            int b = Integer.valueOf("12a");//false
    
            //3.除了Character外,包装类都有parseXxx(String s)的静态方法,将字符串转换为对应的基本类型数据
            //  但s不能为null ,且必须是可以解析为相应基本类型的数据,否则虽然编译通过,但是运行时会报错
            int m = Integer.parseInt("567");
            int n = Integer.parseInt("12q");//false
    
            //4.JDk5.0后 可以实现自动拆箱和装箱
            int q = 10;
            Integer p = q;//自动装箱
            Integer k =10;
            int l = k;//自动拆箱
        }
    }
    
    
    • 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

    在这里插入图片描述

  • 相关阅读:
    数据库全栈工程师(DevDBOps)低首付、高回报,先就业后付款
    NFT IP授权热度渐起,NFT2.0时代即将到来?
    《前端运维》一、Linux基础--06Shell流程控制
    CockroachDB集群部署
    C语言关于&与&&运算符
    java计算机毕业设计教师招聘考试题库系统源码+mysql数据库+系统+lw文档+部署
    体育竞技分析
    iOS runtime
    如何在 SAP ABAP ALV 报表里以交通灯的方式显示某一列的值
    树莓派4B(Ubuntu 22.04 server)与Windows11网线直连(无显示器)
  • 原文地址:https://blog.csdn.net/weixin_48935611/article/details/133808816