(十九)包装类

news2025/1/21 6:29:40

前言:

       在我们讨论其他变量类型之间的相互转换时,我们需要了解一下Java的包装类,所谓包装类,就是能够直接将简单类型的变量表示为一个类,在执行变量类型的相互转换时,我们会大量使用这些包装类。Java共有六个包装类,分别是Boolean、Character、Integer、Long、Float和Double,从字面上我们就能够看出他们分别对应于 boolean、char、int、long、float和double。而String和Date本身就是类。所以也就不存在什么包装类的概念了。

1.概述:

        就是8种基本数据类型对应的引用类型。

2.为什么提供包装类?

        ①java为了实现一切皆对象,为8种基本类型提供了对应的引用类型。

        ②后面的集合和泛型其实也只能支持包装类型,不支持基本数据类型。

3.

        自动装箱:基本类型的数据和变量可以直接赋值给包装类型的变量。

        自动拆箱:包装类型的变量可以直接赋值给基本数据类型的变量。

4.包装类的特有功能

        ①包装类变量默认为null,容错率高;

        ②可以把基本数据类型的数据转换成字符串形式

                调用toString()方法得到字符串结果;

                调用Integer.toString(基本类型的数据);

        ③ 可以把字符串类型的数值转换成真实的数据

            Integer.parseInt("字符串整数");  字符串转整数;
            Double.parseDouble("字符串数据的小数");  字符串转小数;

5.代码演示:

public class Demo {
    public static void main(String[] args) {
        int a = 10;
        Integer a1 = 11;
        System.out.println(a);
        System.out.println(a1);
        Integer a2 = a ;//自动装箱
        System.out.println(a2);
​
​
        Integer it = 100;
        int it1 = it; //自动拆箱
        System.out.println(it1);
​
//      int age = null; //报错  基本数据类型
        Integer age1 = null; //不会报错,提高代码的容错率  引用数据类型
        Integer age2 =0;
        System.out.println(age1);
        System.out.println(age2);
        System.out.println("----------------");
​
        //1.包装类可以把基本数据类型的数据转换成字符串形式
        Integer i3 = 23;
        String rs = i3.toString();
        System.out.println(rs+1);//字符串作连接
​
        String rs1 = Integer.toString(i3);
        System.out.println(rs1+1);
​
        String rs3 = i3+"";
        System.out.println(rs3+1);
        String rs2 = i3+"4";
        System.out.println(rs2+1);
​
        System.out.println("---------------");
        //2.可以把字符串类型的数值转换成真实的数据
//        Integer.parseInt("字符串整数");  字符串转整数
//        Double.parseDouble("字符串数据的小数");  字符串转小数
        //转换整数
        String number = "23";
        int age = Integer.parseInt(number);
        System.out.println(age+1);
        //转换小数
        String number1 = "99.21";
        double count = Double.parseDouble(number1);
        System.out.println(count+1);
​
        int score = Integer.valueOf(number);//valueOf和parseDouble相同但更灵活
        System.out.println(score+1);
    }
}

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

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

相关文章

pandas数据结构

文章目录Series创建series对象Series对象的属性DataFrame创建DataFrame对象Python 在数据处理上独步天下:代码灵活、开发快速;尤其是 Python 的 Pandas 包,无论是在数据分析领域、还是大数据开发场景,都具有显著的优势。Series S…

CesiumLab实例模型切片 CesiumLab系列教程

先解释下实例模型,实例模型使用 GPU instance 技术来渲染的模型,通常用来绘制大量几何体一致,但是位置姿态不同的对象,比如说森林场景,大量路灯,井盖等,如下图: 1.输入文件 目前输入…

【图文教程】Centos单机安装Redis

1.1.安装Redis依赖 Redis是基于C语言编写的,因此首先需要安装Redis所需要的gcc依赖: yum install -y gcc tcl1.2.上传安装包并解压 ​ 例如,凯哥将其放到了/usr/local/src 目录: 解压缩: tar -xzf redis-6.2.6.tar…

搞清clientHeight、offsetHeight、scrollHeight、offsetTop、scrollTop

网页可见区域高:document.body.clientHeight 网页正文全文高:document.body.scrollHeight 网页可见区域高(包括边线的高):document.body.offsetHeight 网页被卷去的高:document.body.scrollTop 屏幕分辨率高:window.sc…

SpringBoot实践(三十九):如何使用AOP

目录 直接使用Aspect 定义切面逻辑 模拟业务代码 测试输出 自定义注解方式 自定义切面注解 定义切入点逻辑 模拟业务代码 测试输出 面向切面(AOP) 是spring重要特性,在功能上切面编程是面向对象编程的很好的补充,面向对象强调封装和开…

BAT 名企大厂做接口自动化如何高效使用 Requests ?

1080428 28.9 KBRequests是一个优雅而简单的python HTTP库,其实python内置了用于访问网络的资源模块,比如urllib,但是它不如requests简单,优雅,而且缺少许多实用功能。接下来的接口测试的学习和实战,都与re…

语音识别系列之基于CTC的VAD

语音活动性检测(Voice Activity Dection, VAD)常作为语音识别系统的前端模块过滤非语音段,为后续增强模块提供语音/非语音判据,从而更好的掌握背景噪声特性,进而提升降噪量,保证识别性能,且能降…

GitHub进阶使用指南

GitHub进阶使用指南1.个性化 Github 首页2.自定义项目徽章3.自动为项目添加贡献情况图标4.高效阅读 Github 项目的源代码5.扩展 Github 的功能1.个性化 Github 首页 Github 目前支持在个人主页自定义展示一些内容: 想要做到这样非常简单,你只需要创建一…

创建切实可行的项目管理计划会带来什么好处?

项目管理计划是深入了解项目来龙去脉的地方,可以说是指导你从头到尾完成项目的地图。 项目章程是项目的高层次愿景,而项目管理计划将这一愿景分解为项目的实际日常执行,涵盖为实现项目目标所需要做的一切。 一个详细的项目计划将规划出从…

Java自动拆装箱与缓存——Java中的128陷阱

在讲解128陷阱之前,需要了解一些概念。 包装器类型 Java是面向对象的语言,但基本类型并不是面向对象的,从而出现了包装器类型,并且包装器添加了更多的属性和方法。如我们在使用集合类型Collection的时候就一定要使用包装类型而非…

高等学校学生公寓消防安全设计及管理设计要点

摘要:高等学校学生公寓是学生生活起居和日常活动的重要场所,具有人员同时聚集的特征,属于人员密集场所。特别是晚间休息时,此时宿舍内人员达到满员状态。学生的生活及学习物品,如被褥、衣服、书籍等,都属于…

Prometheus标签的使用说明

prometheus在处理数据指标的过程中,包括【抓取的生命周期】和【标签的生命周期】 默认情况下,当prometheus加载target实例完成后,这些target时候会包含一些默认的标签,这些标签将会告诉prometheus如何从target实例中获取监控数据…

【3】Linux多节点部署KubeSphere|最简单的安装方法

目录 步骤1:准备三台服务器 步骤2:下载KubeKey 步骤3:创建集群 1. 创建示例配置文件 2. 编辑配置文件 3. 使用配置文件创建集群 4. 验证安装 步骤1:准备三台服务器 4c8g (master)8c16g * 2 (worker)centos7.9内网互通每个机…

Tiktok的发展趋势以及政策支持,你了解多少?

武汉瑞卡迪电子商务有限公司:为了方便大家的阅读,这篇文章将分为以下几个板块: 1、Tiktok的基本介绍 2、Tiktok的发展趋势以及政策支持 3、新手运营Tiktok的方法 4、Tiktok引流的方法 一、Tiktok的基本介绍 TikTok TikTok国际版&#xf…

express 1.1安装express And 1.2创建项目

目录 1.1安装express 1.2.1 创建项目 (1)使用vscode,可以快速创建项目,vscode把终端聚合在了一起,打开vscode终端 (2)进入工作目录 (3)执行创建命令 (4&…

MySQL必知必会_SELECT部分

最近在读MySQL必知必会,关于这本书打算写点读后感,大概是两篇博客的体量。 其实对于测试岗来说,不管是面试还是实际工作中,最重要的自然当属SELECT。 下面我把书里关于SELECT的知识点简单记一下吧。 首先在MySQL中其实是不区分…

【MySQL】第二部分 MySQL的启动和登录

【MySQL】第二部分 MySQL的启动和登录 文章目录【MySQL】第二部分 MySQL的启动和登录2. MySQL的启动和登录2.1 服务的启动与停止2.2 客户端登录查看版本信息退出登录2.3 演示命令行的使用总结2. MySQL的启动和登录 2.1 服务的启动与停止 MySQL的安装就不过多介绍了,大家可以去…

OpenSceneGraph纹理API开发指南【OSG】

前面的教程中,我们用彩虹的所有颜色画了一个正方形。然而,还有另一种成为纹理映射的技术,将光栅二维图像应用于三维几何。在这种情况下,效果不是针对几何体的顶点,而是通过栅格化场景更改获得的所有像素的数据。这种技…

好雨科技加入龙蜥 完成与 Anolis OS 兼容适配

近日,北京好雨科技有限公司(以下简称“好雨科技”)签署了 CLA(Contributor License Agreement,贡献者许可协议) ,正式加入龙蜥社区(OpenAnolis)。好雨科技成立于 2015 年…

bug总是多不如看一看,前端写完代码进行的自测流程减少bug重复反工,提高开发效率。

提测标准:修改bug前要熟知之前的操作逻辑以及涉及其代码的周边逻辑,修改bug后的操作逻辑和测试确认,检测其它周边逻辑。至少需要另外1个开发进行交叉测试必要时进行代码Code Review(代码规范,主要逻辑,复杂…