首页 > 其他分享 >26-包装类

26-包装类

时间:2024-07-01 16:21:37浏览次数:1  
标签:26 包装 System println Integer 100 true out

什么是包装类

  • 基本数据类型所对应的引用数据类型
  • Object可以统一所有数据,包装类的默认值是null

包装类对应

类型转换与装箱、拆箱

  • 栈里边的数据,拿到堆里边叫装箱(基本类型转成引用类型),反之叫拆箱
        //类型转换:装箱(基本类型转引用类型)
        int num1 = 18;
        //使用Integer类创建对象
        Integer integer1 = new Integer(num1);//一种方法
        Integer integer2 = Integer.valueOf(num1);//另外方法

        //类型转换:拆箱(引用转基本)
        Integer integer3 = new Integer(100);
        int num2 = integer3.intValue();


        //JDK1.5之后。提供自动拆箱和装箱
        int age = 30;
        //自动装箱
        Integer integer4 = age;
        //自动拆箱
        int age2 = integer4;
  • paraseXXX()静态方法:可以实现字符串和基本类型的转换
        //基本类型转换字符串
        int n1 = 100;
        //1.使用+号
        String s1 = n1 + "";
        //2.使用Integer中的toString()方法
        String s2 = Integer.toString(n1);
        System.out.println(s1);//100
        System.out.println(s2);//100

        //字符串转换基本类型
        String str = "150";
        //使用Integer.parseXXX();
        int n2 = Integer.parseInt(str);
        System.out.println(n2);//150

        //boolean字符串形式转成基本类型“true”--->true   非“true”--->false
        String str2 = "true";//若不是treu(非true)则转换后是false(false也是false)
        boolean b1 = Boolean.parseBoolean(str2);
        System.out.println(b1);//true
  • 注意:需保证类型兼容,否则抛出NumberFormatException异常

整数缓冲区

  • Java预先创建了256个常用的整数包装类型对象
  • 在实际应用当中,对已创建的对象进行复用
        //面试题
        Integer integer1 = new Integer(100);
        Integer integer2 = new Integer(100);
        System.out.println(integer1 == integer2);//false  引用类型,在堆里面,,地址不一样

        Integer integer3 = 100;//自动装箱:实际Integer.valueOf(100);
        Integer integer4 = 100;
        System.out.println(integer3 == integer4);//true

        Integer integer5 = 200;
        Integer integer6 = 200;
        System.out.println(integer5 == integer6);//false
        /*
        100在-128到127之内。所有返回的是Integer缓冲区里面的对象,所以地址一样
        200不-128到127之内,缓冲区里没有,只能new Integer 在堆里面开辟空间,所以地址不同
        实际上是-128到127之间的数都预先存放好了以供使用
        */

标签:26,包装,System,println,Integer,100,true,out
From: https://www.cnblogs.com/Mc9r4dy/p/18278298

相关文章

  • C++ //练习 14.17 你在7.5.1节的练习7.40(第261页)中曾经选择并编写了一个类,你认为它应
    C++Primer(第5版)练习14.17练习14.17你在7.5.1节的练习7.40(第261页)中曾经选择并编写了一个类,你认为它应该含有相等运算符吗?如果是,请实现它;如果不是,解释原因。环境:LinuxUbuntu(云服务器)工具:vim 代码块classDate{ public: Date(); Date(size_ty,size_tm,siz......
  • 探索Toshiba东芝TLP265J光耦合器
    在当今的电子元件市场中,寻找高质量和高可靠性的光耦合器解决方案对许多工程师和设计师来说至关重要。TLP265J这款产品在性能、安全性和可靠性方面均表现卓越,适用于多种工业和商业应用。本文将深入探讨TLP265J的特点、应用领域以及其技术优势,帮助您更好地理解这款产品,并为您的设......
  • 第26节 对象的定义和使用
    第26节对象的定义和使用1.对象的的定义及对象的动态建立和释放1、对象的的定义►定义一个类时,也就是定义了一个具体的数据类型。若要使用类,需要将类实例化,即定义该类的对象。►需要注意,我们之前也使用了“对象”一词,那里主要是指数据对象。►从现在起,“对象”一词......
  • C++11 mem_fn成员指针包装器
    C++11mem_fn成员指针包装器介绍函数模板std::mem_fn生成成员指针的包装器对象,用于存储、复制及调用成员指针。指向对象的引用和指针(包括智能指针)都可以在调用std::mem_fn时使用。注意:std::mem_fn只能包装public的成员指针,不能包装全局函数这里的成员指针指的是成员......
  • 23201826-熊锋-第三次blog
    一.前言这两次pta作业第一次为家居强电电路模拟程序-3,这次题型,是在家居强电电路模拟程序-2的基础上进行迭代,虽然仅仅只增加了互斥开关等,但带来的改变同上一次十分巨大,通路的判断不再仅仅局限于各个控制设备0与1,而是要判断多个控制设备的开闭,其位置乃至互斥开关的实际情况,使得并联......
  • 269:vue+openlayers 利用 MultiPoint 显示多点
    作者:还是大剑师兰特,曾为美国某知名大学计算机专业研究生,现为国内GIS领域高级前端工程师,CSDN知名博主,深耕openlayers、leaflet、mapbox、cesium,canvas,echarts等技术开发,欢迎加微信(gis-dajianshi),一起交流。查看本专栏目录-本文是第269个示例文章目录一......
  • Kimichat使用案例026:AI翻译英语PDF文档的3种方法
    文章目录一、介绍二、腾讯交互翻译TranSmarthttps://transmart.qq.com/三、沉浸式翻译三、谷歌网页翻译一、介绍短的文章,直接丢进kimichat、ChatGPT里面很快就可以翻译完成,而且效果很佳。但是,很长的PDF文档整篇需要翻译,怎么办呢?二、腾讯交互翻译TranSmartht......
  • 2663. 字典序最小的美丽字符串
    题目如果一个字符串满足以下条件,则称其为美丽字符串:它由英语小写字母表的前k个字母组成。它不包含任何长度为2或更长的回文子字符串。给你一个长度为n的美丽字符串s和一个正整数k。请你找出并返回一个长度为n的美丽字符串,该字符串还满足:在字典序大于s的所......
  • AcWing 5726. 连续子序列
    5726.连续子序列-AcWing题库01trie的不错的练习题。题目说了求一段连续子序列的异或和,因为异或有结合律,所以我们可以直接预处理一个前缀异或和,即\(a[l,r]=sum[r]\operatorname{xor}sum[l-1]\)。然后求一段异或和就变成了求任意两个\(sum\)的异或和,而这就可以用到0......
  • [题解]AT_abc267_f [ABC267F] Exactly K Steps
    大家好,我是毒瘤,喜欢用玄学算法过题。发现题解区没有这个做法,于是来发一篇。思路不难发现如果一个点对\((u,v)\)的距离为\(d\),那么在这棵树以\(u\)为根时,\(v\)的深度为\(d\)。于是考虑换根DP。首先思考如何计算答案。显然我们可以将查询离线下来,然后当换根到以\(u\)......