当前位置: 首页 > news >正文

Java程序设计入门教程--原始类与包装类

包装类

       Java语言是一个面向对象的语言,但是Java中的基本数据类型却是不面向对象的,这在实际使用时存在很多的不便。

       为了解决这个不足,在设计类时为每个基本数据类型设计了一个对应的类进行代表,这样八个和基本数据类型对应的类统称为包装类(Wrapper Class),有些地方也翻译为封装类或数据类型类。

       包装类均位于java.lang包。


包装类和基本数据类型的对应关系如表所示

基本数据类型

包装类

构造方法

boolean

Boolean

Booleanboolean b)或Boolean(String s)

byte

Byte

Byte(byte b) Byte(String s)

char

Character

Character(char c)

short

Short

Short(short s ) Short(String s)

int

Integer

Integer(int i) 或者Integer(String s)

long

Long

Long(long l)或者Long(String s)

float

Float

Float(double d)或者Float(float f)或者Float(String s)

double

Double

Double(double d)或者Double(String s)

        另外还有两个包装类BigInteger、BigDecimal没有相对应的基本类型,主要应用于高精度的运算,BigInteger 支持任意精度的整数, BigDecimal支持任意精度带小数点的运算。


包装类的功能

        包装类属于引用数据类型,具有属性和方法,使用这些方法可以实现很多基本数据类型没有的功能,包装类主要提高以下功能:(1)将基本数据类型包装后,可以当做对象使用;(2)为基本数据类型提供各种转换功能,如将数值转换为字符串,将字符串转换为数值。

        有些数据结构如ArrayList,HashMap等不能存放原值类型,这时只能使用其包装类。

基本数据类型和其包装类间的转换(以Integer类为例)

(1)基本类型转换为包装类型: Integer I=new Integer(primitive value);

(2)包装类型转换为基本类型: int a=I.intValue()

基本类型与包装类型主要异同:
1. Java中,一切皆对象,但八大基本类型却不是对象。

2. 声明方式的不同,基本类型无需通过new关键字来创建,而封装类型需new关键字。

3. 存储方式及位置的不同,基本类型是直接存储变量的值保存在堆栈中能高效的存取,封装类型需要通过引用指向实例,具体的实例保存在堆中。

4. 初始值的不同,封装类型的初始值为null,基本类型的的初始值视具体的类型而定,比如int类型的初始值为0boolean类型为false

5. 使用方式的不同,比如与集合类合作使用时只能使用包装类型。

 

相关文章:

Java程序设计入门教程--原始类与包装类

包装类 Java语言是一个面向对象的语言,但是Java中的基本数据类型却是不面向对象的,这在实际使用时存在很多的不便。 为了解决这个不足,在设计类时为每个基本数据类型设计了一个对应的类进行代表,这样八个和基本数据类型对应的类统…...

pip安装python库速度慢、失败及超时报错解决办法

背景: 随着人工智能的不断兴起,python作为最接近人工智能的语言,变得越来越流行,人生苦短,python要学起来。之所以越来用的人喜欢学习python和研究Python,除了python本身便于学些、语法简短、面向对象等特点…...

向量数据库

向量数据库可以做哪些事情 存储和索引向量检索相似向量,还具有过滤功能自动将文档转变成向量,所以会自动化分词、向量化、索引等操作 目前存在的向量数据库: 名称github开源协议chromahttps://github.com/chroma-core/chromaApache 2.0Mil…...

leetcode 11.盛最多水的容器

题目描述 跳转到leetocde题目 给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。 找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。 返回容器可以储存的最大水量。 说明&#xff…...

都说00后已经躺平了,但是有一说一,该卷的还是卷啊。

这不,三月份春招我们公司来了个00后,工作没两年,跳槽到我们公司起薪20K,都快接近我了。 后来才知道人家是个卷王,从早干到晚就差搬张床到工位睡觉了。 最近和他聊了一次天,原来这位小老弟家里条件不太好&…...

牛客网刷题学习SQL(二)

SQL22 统计每个学校的答过题的用户的平均答题数 描述 运营想要了解每个学校答过题的用户平均答题数量情况,请你取出数据。 用户信息表 user_profile,其中device_id指终端编号(认为每个用户有唯一的一个终端),gender指…...

深蓝学院 C++笔记 先导篇章 - 绪论

一、介绍-老师寄语 为什么选择C? 高性能解决问题 二、C推荐书目 1. 基础 《C Primer》,Stanley B. Lippman 等著,王刚、杨巨峰等译 2. 进阶 《Effective C》,Scott Meyers 著,侯捷译。 《More Effective C》&am…...

R7-19 天梯赛团队总分

“天梯赛”的竞赛题目一共有 15 道,分为 3 个梯级: 基础级设 8 道题,其中 5 分、10 分、15 分、20 分的题各 2 道,满分为 100 分;题目编号相应为L1-X,X取1,2,3,4,5,6,7,8,分别表示基础级的8道题…...

使用 Kotlin 的 Opt-in (选择加入)功能注解API提示当前非稳定API

前言 之前在给公司项目封装库的时候,领导告诉我封装的漂亮一点,等以后公司发展起来了可能需要把这个库提供给第三方接入使用。 此时,就有这么一个问题:某些功能函数使用条件比较苛刻,直接使用可能会出现意想不到的后…...

webpack配置排除打包

webpack配置排除打包 思路 打包时,不要把类似于element-ui第三方的这些包打进来 从网络上,通过url地址直接引入这些包 操作 (1)先找到 vue.config.js, 添加 externals 项,具体如下: config…...

HNU-操作系统OS-ucoreLab系列-感悟

谨以此片篇,献给熬夜的8个晚上,以及逝去的时光。 感悟: 今天结束了所有的Lab实验(2023.6.3),感慨万千。 喜是这个实验终于结束了,悲是其实有好多地方我都没有理解。 应该指出,由于验收的助教学长学姐们的宽容,HNU实际上在验收这一块的要求还是比较低的。 但是这个…...

MySQL运维篇(三)

五.读写分离 5.1 介绍 读写分离,简单地说是把对数据库的读和写操作分开,以对应不同的数据库服务器。主数据库提供写操作,从数据库提供读操作,这样能有效地减轻单台数据库的压力。 通过MyCat即可轻易实现上述功能,不仅可以支持MySQL&#x…...

Lecture 2 Text Preprocessing

目录 Some DefinitionsReasons for PreprocessingPreprocessing StepsSentence Segmentation 句子分割Binary Classifier 二元分类器Word Tokenization: English 英文词元标记化Word Tokenization: Chinese 中文词元标记化Word Tokenization: German 德语词元标记化Subword Tok…...

web练习第二周

前言:(博主个人学习笔记,不用看)web练习第二周,仅做出前3题。相比于第一周,难度大幅增加,写题时就算看了wp还是像个无头苍蝇一样到处乱创,大多都是陌生知识点,工具的使用…...

LC-1439. 有序矩阵中的第 k 个最小数组和(二分答案、多路归并)

1439. 有序矩阵中的第 k 个最小数组和 难度困难120 给你一个 m * n 的矩阵 mat,以及一个整数 k ,矩阵中的每一行都以非递减的顺序排列。 你可以从每一行中选出 1 个元素形成一个数组。返回所有可能数组中的第 k 个 最小 数组和。 示例 1:…...

一文1000字从0到1实现Jenkins+Allure+Pytest的持续集成

一、配置 allure 环境变量 1、下载 allure是一个命令行工具,可以去 github 下载最新版:https://github.com/allure-framework/allure2/releases 2、解压到本地 3、配置环境变量 复制路径如:F:\allure-2.13.7\bin 环境变量、Path、添加 F:\…...

给一个有序数组生成平衡搜索二叉树(java)

给一个有序数组生成平衡搜索二叉树 给一个有序数组生成平衡搜索二叉树递归生成二叉树专题 给一个有序数组生成平衡搜索二叉树 给定一个有序的数组,用这个数组生成一个平衡搜索二叉树. 这个题还是很简单的,知道什么时平衡搜索二叉树就行了, 左边值小于头节点值,头节点值小于右边…...

【JavaSE】Java基础语法(二十二):包装类

文章目录 1. 基本类型包装类2. Integer类3. 自动拆箱和自动装箱4. int和String类型的相互转换 1. 基本类型包装类 基本类型包装类的作用 将基本数据类型封装成对象的好处在于可以在对象中定义更多的功能方法操作该数据常用的操作之一:用于基本数据类型与字符串之间的…...

javascript基础十八:说说你对JavaScript中事件循环的理解​

一、是什么 JavaScript 在设计之初便是单线程,即指程序运行时,只有一个线程存在,同一时间只能做一件事 为什么要这么设计,跟JavaScript的应用场景有关 JavaScript 初期作为一门浏览器脚本语言,通常用于操作 DOM &#…...

详解js中的浅拷贝与深拷贝

详解js中的浅拷贝与深拷贝 1、前言1.1 栈(stack)和堆(heap)1.2 基本数据类型和引用数据类型1.2.1 概念1.2.2 区别1.2.3 基本类型赋值方式1.2.4 引用类型赋值方式 2、浅拷贝2.1 概念2.2 常见的浅拷贝方法2.2.1 Object.assign()2.2.…...

项目介绍 基于Python的大学生竞赛组队系统设计与实现(含模型描述及部分示例代码)专栏近期有大量优惠 还请多多点一下关注 加油 谢谢 你的鼓励是我前行的动力 谢谢支持 加油 谢谢

基于Python的大学生竞赛组队系统设计与实现的详细项目实例 请注意此篇内容只是一个项目介绍 更多详细内容可直接联系博主本人 或者访问对应标题的完整博客或者文档下载页面(含完整的程序,GUI设计和代码详解) 大学生竞赛已成为高校人才培养…...

Unity低耦合可复用交互系统设计与落地

1. 为什么“交互系统”在Unity项目里总被反复重写?我带过三支不同规模的Unity团队,从百人MMO到五人独立游戏,几乎每个项目都会在第3个月左右出现一个标志性场景:美术同学发来一段动画片段,说“这个门要点击打开”&…...

GEO服务商技术评估的四维量化框架:以杭州文澜天下科技为例

评估维度如下。评估维度一:技术自研深度(权重30%)行业数据显示,当前市场上超千家宣称提供GEO服务的机构中,仅19%拥有完整的自主技术研发团队,超73%的品牌选错服务商,导致二次重构投入成本达到首…...

2026跨境实测|主流国产AI视频生成工具图生视频功能深度测评

在TikTok、Shopee、亚马逊短视频带货常态化的2026年,跨境商家的核心痛点早已不是不会拍视频,而是量产难、成本高、画面违和、适配海外场景差。传统真人拍摄、外包剪辑模式,不仅耗时耗力,还难以跟上跨境平台的流量更新节奏。而AI视…...

AI编程助手的真实效能:20-30%增效背后的工程逻辑与落地框架

1. 这不是泼冷水,而是把被营销话术遮住的显微镜递给你 “AI coding agent will boost your productivity 10x”——这句话过去两年在技术社区、招聘JD、内部OKR甚至投资人尽调材料里反复刷屏,像一句不容置疑的技术咒语。我本人从2023年Q4开始&#xff0c…...

C++中多重继承详解及其作用介绍

多重继承 (multiple inheritance): 一个派生类有两个或多个基类, 派生类从两个或多个基类中继承所需的属性. C 为了适应这种情况, 允许一个派生类同时继承多个基类. 这种行为称为多重继承.优缺点优点自然地做到了对单继承的扩展可以继承多个类的功能缺点结构复杂化优先顺序模糊…...

Windows系统优化完全指南:3个高效管理隐藏功能的专业技巧

Windows系统优化完全指南:3个高效管理隐藏功能的专业技巧 【免费下载链接】ViVeTool-GUI Windows Feature Control GUI based on ViVe / ViVeTool 项目地址: https://gitcode.com/gh_mirrors/vi/ViVeTool-GUI 想要安全地探索Windows系统中的隐藏功能吗&#…...

5步完成黑苹果配置:OpCore Simplify终极简化指南 [特殊字符]

5步完成黑苹果配置:OpCore Simplify终极简化指南 🚀 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify 还在为复杂的OpenCore配置…...

嵌入式气体传感器模组选型、集成与工程实践全解析

1. 项目概述:从“感知”到“决策”的桥梁在工业自动化、环境监测乃至我们日常的智能家居设备里,气体传感器模组正扮演着越来越关键的角色。它不像一个独立的传感器探头那么简单,而是一个集成了传感元件、信号调理、数据处理甚至通讯接口的完整…...

3个步骤掌握OBS多平台推流插件:告别重复操作,实现一键多平台直播同步

3个步骤掌握OBS多平台推流插件:告别重复操作,实现一键多平台直播同步 【免费下载链接】obs-multi-rtmp OBS複数サイト同時配信プラグイン 项目地址: https://gitcode.com/gh_mirrors/ob/obs-multi-rtmp OBS多平台推流插件(obs-multi-r…...