包装类的使用

news/2025/1/15 21:51:48/

文章目录

  • 一、单元测试方法的使用
    • 步骤
  • 二、包装类的使用
    • 基本数据类型、包装类、String类型之间的相互转化
      • 基本数据类型——>包装类
      • 注意
      • 包装类——>基本数据类型
      • 自动装箱与自动拆箱(jdk5.0后)
      • 基本数据类型、包装类——>String类型
      • String类型——>基本数据类型、包装类
  • 面试题1
  • 面试题2

一、单元测试方法的使用

步骤

1、选中当前工程——右键:build path——add Libraries——JUnit4——下一步,即可
2、创建Java类,进行单元测试
此时Java类的要求:
①Java类是公共的(public)
②此类提供公共的无参构造器
③此类中声明单元测试方法

此方法要求:是公共的(public)、没有返回值、没有形参

④单元测试方法上要添加注解:@Test,并在单元测试类中导入:import org.junit.Test
⑤声明单元测试方法后,就可以在方法体中进行测试
⑥写完代码后,双击单元测试方法名,右键选择run as——JUnit Test
【说明】
①如果执行成功,会出现绿条
②如果执行出现异常,会出现红条
③如果单元测试类中声明了属性或方法,想在单元测试方法中对这个属性或方法进行调用,不用创建对象,直接“num=20;”或“show(); ”即可。

二、包装类的使用

Java提供了8中基本数据类型对应的包装类,使得基本数据类型也具有类的特征(调用属性或方法等)
在这里插入图片描述
前几个基本数据类型的包装类的父类是Number类

基本数据类型、包装类、String类型之间的相互转化

基本数据类型——>包装类

调用包装类的构造器
在这里插入图片描述
【注意】在数字类型的基本数据类型的包装类中,参数可以是String类型,但是其中必须是纯数字
【例外】
在这里插入图片描述
这里是因为在Boolean的包装类中对方法进行了优化,使得参数不为null且不考虑大小写的true的情况下为true,其他为false。

注意

在这里插入图片描述
两个输出的内容不同,因为下面的属性是个包装类了

包装类——>基本数据类型

调用包装类XXX的xxxValue()
作用:类不可以进行运算,但是基本数据类型可以

自动装箱与自动拆箱(jdk5.0后)

自动装箱:基本数据类型——>包装类
在这里插入图片描述
自动拆箱:包装类——>基本数据类型
在这里插入图片描述

基本数据类型、包装类——>String类型

调用String重载的valueOf
在这里插入图片描述

String类型——>基本数据类型、包装类

调用包装类的parseXXX方法

面试题1

在这里插入图片描述
1、首先有个三元运算符,问好前面是条件,冒号前面为条件是true的执行语句,冒号后面为条件是false的执行语句。
在三元运算符中要求冒号连接的两个类型需要统一,所以Integer会有一个类型提升。
结果:1.0
2、结果:1,不要求类型提升

面试题2

在这里插入图片描述
结果:false、true、false
2、3两个输出的原因:在Integer中定义了IntegerCache结构,IntegerCache定义了Integer[ ],保存了[-128,127]范围内的整数。如果我们用自动装箱的方式,给Integer赋值在[-128,127]范围内时,可以直接使用数组中的元素,不用通过new的方式。目的:提高效率。第二个的m,n的值在这个范围内,所以两个变量的地址相同。
3的原因是两个变量的范围超过了[-128,127]这个范围,相当于两个变量都需要通过new创建,地址值就不同了。


http://www.ppmy.cn/news/8944.html

相关文章

Python语言基础——Python 内建函数

Python语言基础——Python 内建函数 文章目录 Python语言基础——Python 内建函数一、Python 内建函数一、Python 内建函数 函数 描述 abs() 返回数的绝对值 all() 如果可迭代对象中的所有项均为 true,则返回 True。 any() 如果可迭代对象中的任何项为 true,则返回 True。 a…

【数据结构】C语言实现双链表

目录 前言 双链表节点定义 接口函数实现 初始化函数 创建节点 打印双链表 尾插节点 尾删节点 头插节点 头删节点 指定位置前插入 删除指定位置节点 改写插入删除 判断链表是否为空 计算链表长度 销毁链表 双链表完整代码 浅谈链表及顺序表 前言 前面我们已经实…

实力总结四类Bean注入Spring的方式

xml 方式 注解方式 Configuration Bean Import FactoryBean BDRegistryPostProcessor 源码 实战 一提到Spring,大家最先想到的是啥?是AOP和IOC的两大特性?是Spring中Bean的初始化流程?还是基于Spring的Spring Cloud全家桶呢…

使用nginx临时搭建rtmp服务器

使用nginx临时搭建rtmp服务器 文章目录使用nginx临时搭建rtmp服务器系统环境搭建步骤RTMP服务验证由于需要研究rtmp协议交互方式及报数据格式,使用nginx临时搭建一个rtmp服务器,主要通过nginx的rtmp扩展模块实现接收RTMP推送的音视频流,同时提…

educoder数据结构与算法 队列 第1关:实现一个顺序存储的队列

本文已收录于专栏 🌲《educoder数据结构与算法_大耳朵宋宋的博客-CSDN博客》🌲 目录 任务描述 相关知识 编程要求 测试说明 AC_Code 任务描述 本关任务:实现 step1/SeqQueue.cpp 中的SQ_IsEmpty、SQ_IsFull、SQ_Length、SQ_In和SQ_Out…

P3367 【模板】并查集

题目描述 如题,现在有一个并查集,你需要完成合并和查询操作。 输入格式 第一行包含两个整数 N,MN,M ,表示共有 NN 个元素和 MM 个操作。 接下来 MM 行,每行包含三个整数 Z_i,X_i,Y_iZi​,Xi​,Yi​ 。 当 Z_i1Zi​1 时,将 X_iXi​…

物联网架构实例—Ubuntu 安装RabbitMQ

1.安装前准备 1.1.更新apt-get源 apt-get update 1.2.erlang支持 rabbitMq需要erlang语言的支持,在安装rabbitMq之前需要安装erlang. apt-get install erlang-nox 1.3.查看erlang版本 erl 1.4.添加公钥 wget -O- https://www.rabbitmq.com/rabbitmq-release-…

【C++进阶】IO流

🎇C学习历程:入门 博客主页:一起去看日落吗持续分享博主的C学习历程博主的能力有限,出现错误希望大家不吝赐教分享给大家一句我很喜欢的话: 也许你现在做的事情,暂时看不到成果,但不要忘记&…