Java中的八大包装类(Wrapper)

news2025/1/16 4:01:28

目录

一、八大包装类

1、八大包装类的体系图:

 二、装箱和拆箱

三、intValue()和valueOf()方法

1、intValue()

2、valueOf()

四、包装类型和String类型的相互转换

五、包装类的常用方法(以Integer和Character为例)


一、八大包装类

包装类是指八种基本数据类型相对应的引用类型。这样做让基本数据类型有了类的特点,就可以调用类中的方法。

1、八大包装类的体系图:

 

 

 二、装箱和拆箱

装箱:基本类型--->包装类型;反之是拆箱。

jdk5之前是手动装箱和拆箱;jdk5之后是自动装箱和拆箱,自动装箱底层调用的是valueOf方法,比如Integer.valueOf()。

下面是手动装箱/拆箱和自动装箱/拆箱的例子:(以Integer为例,其他的都类似)

package com.hspedu.Wrapper;

public class Integer01 {
    public static void main(String[] args) {
        //演示int <--> Integer 的装箱和拆箱
        //jdk5前是手动装箱和拆箱
        //手动装箱  int->Integer
        int n1 = 100;
        Integer integer = new Integer(n1);
        Integer integer1 = Integer.valueOf(n1);

        //手动拆箱  Integer -> int
        int i = integer.intValue();

        //jdk5以后(包括jdk5),就可以自动装箱和自动拆箱
        int n2 = 200;
        //自动装箱  int->Integer
        Integer integer2 = n2;  //自动用的是Integer.valueOf(n2)
        //自动拆箱  Integer -> int
        int n3 = integer2;  //底层仍然使用的是 intValue()方法
    }
}

三、intValue()和valueOf()方法

1、intValue()

intValue()方法是java.lang.Number类的方法,Number是一个抽象类。Java中所有的数值类都继承它,因此不单是Integer有intValue方法,Double,Long等都有此方法。

intValue()方法就是输出int数据,该方法在每个数值类中的具体实现都是不同的。例如在Double和Float中就是去除小数点后面的数字,而在Long中又是别的处理结果。

package com.hspedu.Wrapper;

public class Integer02 {
    public static void main(String[] args) {
        Double d = 2.9;
        Float f = 2.9f;
        System.out.println(d.intValue());   //结果是2
        System.out.println(f.intValue());   //结果是2
    }
}

2、valueOf()

valueOf()方法是String类中的static方法,用于将基本数据类型转换为String类型。

  • String.valueOf(boolean b) : 将boolean类型的变量 b 转换成字符串
  • String.valueOf(char c) : 将char类型的变量 c 转换成字符串
  • String.valueOf(char[] data) : 将char类型的数组 data 转换成字符串
  • String.valueOf(double d) : 将 double 类型的变量 d 转换成字符串
  • String.valueOf(float f) : 将 float 类型的变量 f 转换成字符串
  • String.valueOf(int i) : 将 int 类型的变量 i 转换成字符串
  • String.valueOf(long l) : 将 long 类型的变量 l 转换成字符串
  • String.valueOf(Object obj) : 将 obj 对象转换成字符串, 等于 obj.toString()

四、包装类型和String类型的相互转换

案例演示:

 案例代码:

package com.hspedu.Wrapper;

public class Wrapper_String {
    public static void main(String[] args) {
        //包装类(Integer为例)->String
        Integer i = 100; //自动装箱
        //方式1
        String str1 = i + "";
        //方式2
        String str2 = i.toString();
        //方式3
        String str3 = String.valueOf(i);

        //String->Integer
        String str4 = "12345";
        //方式1
        Integer i2 = Integer.parseInt(str4);  //使用到自动装箱
        //方式2
        Integer i3 = new Integer(str4);  //构造器
    }
}

五、包装类的常用方法(以Integer和Character为例)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/93966.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Scala环境搭建

目录1&#xff09;安装步骤2&#xff09;测试3&#xff09;IDEA安装Scala 插件1&#xff09;安装步骤 1.首先确保 JDK1.8 安装成功 2.下载对应的 Scala 安装文件 scala-2.x.zip 3.解压 scala-2.12.11.zip&#xff0c;我这里解压到 F:\software 4.配置 Scala 的环境变量 …

使用Python和GDAL处理遥感影像数据超详细教程

提示&#xff1a;文章末尾有强化学习代码资源 : ) 前言 在本教程中&#xff0c;我们将学习使用 Python 和地理空间数据抽象库 GDAL 自动处理栅格数据的基本技术。 栅格文件通常用于存储地形模型和遥感数据及其衍生产品&#xff0c;例如植被指数和其他环境数据集。 栅格文件往往…

windows 连接蓝牙耳机失败 解决方法

windows 连接蓝牙耳机失败 解决方法 如果我们在windows7或windows10电脑中连接蓝牙却出现了连接失败的状况&#xff0c;这要怎么办呢&#xff0c;可能是我们没有打开电脑的蓝牙功能&#xff0c;这时我们点击打开蓝牙网络的属性&#xff0c;勾选Bluetooth设置的选项即可&#x…

安卓某通讯协议环境算法浅谈

所有的tlv组包都在 oicq.wlogin_sdk.tlv_type加密算法可以hook oicq.wlogin_sdk.tools Tlv144 是由5个tlv组成 然后用TGTkey进行 TEA加密 tlv_109 AndroidIDtlv_52d 系统内核信息tlv_124 平台网络信息tlv_128 手机设备信息tlv_16e 手机品牌TLV544 是设备id&#xff0…

MySQL-复合查询

文章目录复合查询基础查询多表查询自连接子查询单行子查询多行子查询多列子查询合并查询uion会自动去重union all就是不去重union all就是不去重复合查询 基础查询 查询工资高于500或者岗位为MANAGER的员工&#xff0c;同时名字首字母是J select * from emp where (sal>500…

ADI Blackfin DSP处理器-BF533的开发详解54:CVBS输出(含源码)

硬件准备 ADSP-EDU-BF533&#xff1a;BF533开发板 AD-HP530ICE&#xff1a;ADI DSP仿真器 软件准备 Visual DSP软件 硬件链接 CVBS OUT 视频输出 硬件实现原理 CVBS_OUT 子卡板连接在 ADSP-EDU-BF53x 开发板的扩展端口 PORT3 和 PORT4 上&#xff0c;板卡插入时&#xff0…

pytest + yaml 框架 -14.钉钉机器人通知测试结果

前言 当用例执行完成后&#xff0c;希望能给报告反馈&#xff0c;常见的报告反馈有&#xff1a;邮箱/钉钉群/飞书/企业微信 等。 pip 安装插件 pip install pytest-yaml-yoyo钉钉机器人通知测试结果功能在v1.1.1版本实现 钉钉机器人设置 钉钉机器人的设置请参考官方API文档…

实验2 VLAN的划分及VLAN间通信的配置

实验2 VLAN的划分及VLAN间通信的配置一、实验目的二、实验要求三、实验步骤&#xff0c;数据记录及处理四、实验总结一、实验目的 掌握VLAN的划分及VLAN间通信的配置方法 二、实验要求 交换机在没有划分虚拟网络时&#xff0c;都默认属于VLAN1&#xff0c;可以相互通信。通过…

【链表面试题】——剑指 Offer : 复杂链表(带随机指针)的复制

文章目录前言1.题目介绍2. 题目分析3. 思路讲解思路1思路2步骤1步骤2步骤34. 分析图及源码展示前言 这篇文章&#xff0c;我们一起来解决一道与链表相关的经典面试题&#xff1a;复杂链表&#xff08;带随机指针&#xff09;的复制。 1.题目介绍 我们先来一起了解一下这道题&…

Java的继承到底是怎么回事?看这篇让你明明白白

一. 引言 在学习面向对象后&#xff0c;我们就可以使用类来描述对象共有的特征(属性)和行为举止(方法)&#xff0c;如果我们用类来描述猫、狗和企鹅&#xff0c;可以进行如下编码&#xff1a; public class Cat {private String name;//名字private int age;//年龄private St…

操作系统,计算机网络,数据库刷题笔记11

操作系统&#xff0c;计算机网络&#xff0c;数据库刷题笔记11 2022找工作是学历、能力和运气的超强结合体&#xff0c;遇到寒冬&#xff0c;大厂不招人&#xff0c;可能很多算法学生都得去找开发&#xff0c;测开 测开的话&#xff0c;你就得学数据库&#xff0c;sql&#xf…

kubelet源码分析 syncLoopIteration(一) configCh

kubelet源码分析 syncLoopIteration syncLoopIteration里有四个chan管道。分别是configCh、plegCh、syncCh、housekeepingCh。这篇主要聊一下这四个管道的由来。 一、configCh configCh是通过list&watch的API SERVER获得的数据。然后在本地进行比对&#xff0c;推送到c…

Qt-Web混合开发-QtWebChannel实现Qt与Web通信交互-进阶功能(6)

Qt-Web混合开发-QtWebChannel实现Qt与Web通信交互-进阶功能&#x1f96c; 文章目录Qt-Web混合开发-QtWebChannel实现Qt与Web通信交互-进阶功能&#x1f96c;1、概述&#x1f33d;2、实现效果&#x1f346;3、实现功能&#x1f352;4、关键代码&#x1f95d;5、源代码&#x1f9…

Android基础学习(二十二)—— View的事件分发(1)

一、View的层级关系 二、View的事件分发机制 1、MotionEvent ——点击事件 点击事件用MotionEvent来表示 ACTION_DOWN&#xff1a;手指刚接触屏幕 ACTION_MOVE&#xff1a;手指在屏幕上移动 ACTION_UP&#xff1a;手指从屏幕上松开的一瞬间 点击事件的事件分发&#xff0…

OM6621系列国产M4F内核低功耗BLE5.1大内存SoC蓝牙芯片

目录OM6621系列简介OM6621P系列芯片特性应用领域OM6621系列简介 随着5G与物联网时代的到来&#xff0c;智慧城市、电动出行、智能家居、可穿戴设备等应用高速发展&#xff0c;低功耗蓝牙技术在近几年智能化浪潮中的地位也尤为重要。OM6621系列的开发即是为解决国内低功耗蓝牙应…

Linux安装docker 保姆级教程

一、docker介绍 Docker 是 2014 年最为火爆的技术之一&#xff0c;几乎所有的程序员都听说过它。Docker 是一种“轻量级”容器技术&#xff0c;它几乎动摇了传统虚拟化技术的地位&#xff0c;现在国内外已经有越来越多的公司开始逐步使用 Docker 来替换现有的虚拟化平台了。 二…

图为科技深圳人工智能产业协会重磅推出边缘计算机全新概念

人工智能作为提升区域竞争力的重要战略&#xff0c;全国各地都在推动发展&#xff0c;人工智能是未来科技创新发展的风向标&#xff0c;也是产业变革升级的关键驱动力&#xff0c;我国在《“十四五”数字经济发展规划》及《工业互联网创新发展行动计划(2021-2023年)》中&#x…

Linux基础(4)-进程管理

该文章主要为完成实训任务&#xff0c;详细实现过程及结果见【参考文章】 参考文章&#xff1a;https://howard2005.blog.csdn.net/article/details/127066383?spm1001.2014.3001.5502 文章目录一、查看进程1. 进程查看命令 - ps2. Liunx进程状态3. 观察进程变化命令 - top4. …

b站黑马的Vue快速入门案例代码——【axios+Vue】天知道(天气信息查询功能)

目录 目标效果&#xff1a; 更换的新接口接口文档&#xff1a; 天知道新的Get请求接口:http://ajax-api.itheima.net/api/weather html文件中注意因为接口更换&#xff0c;要修改原代码为如下红字部分&#xff1a; 重点原理&#xff1a; &#xff08;1&#xff09;v-on可以…

环形链表问题

文章目录环形链表问题1.环形链表题干思路延申问题总结2. 环形链表 II题干思路环形链表问题 环形链表就是一个链表没有结束的位置&#xff0c;链表的最后一个节点它会指向链表中的某一个节点形成一个环。 拿力扣的两到题目来看 1.环形链表 题干 给你一个链表的头节点 head …