java疯狂讲义总结-自动装箱和拆箱(2)

告别TwinCAT:手把手教你用IgH EtherCAT Master在LinuxCNC上搭建实时运动控制平台 本文详细介绍了如何利用IgH EtherCAT Master和LinuxCNC搭建开源实时运动控制平台,替代商业软件TwinCAT。通过分步指南,包括实时Linux环境配置、EtherCAT主站安装、LinuxCNC集成及多轴同步控制实现,帮助开发者构建高性能、低成本的工业自动化解决方案。 阅读详情

    众所周知,Java是面向对象的编程语言,但它也包含了8种基本数据类型,这8中基本数据类型不支持面向对象的编程机制,基本数据类型的数据也不具备“对象”的特性:没有成员变量、方法可以被调用。Java之所以提供这8种基本数据类型,主要是为了照顾程序员的传统习惯。确实,像我这种刚开始主要学习和使用C语言的程序员来说,偶尔还是习惯的在java代码里面使用int而不是Integer。

    这8种基本数据类型带来了一定的方便性,例如可以简单、有效的常规数据处理。但在某些时候,基本数据类型会有一些制约,例如所有引用类型的变量都继承了Object类,都可以当成Object类型变量使用。但基本数据类型的变量就不可以,如果有个方法需要Object类型的参数,但实际需要的值却是2、3等数值,这可能就比较难以处理。

    为了解决8种基本数据类型的变量不能当成Object类型变量使用的问题,Java提供了包装类(Wrapper Class)的概念,为8中基本数据类型分别定义了相应的引用类型,并称之为基本数据类型的包装类。如下:

好了,铺垫了这么多,那到底什么是自动装箱和自动拆箱呢?代码示例如下:

自动装箱:就是可以把一个基本类型变量直接赋给对应的包装类变量,或者赋给Object变量(Object是所有类的父类,子类对象可以直接赋给父类变量)

自动拆箱:直接把包装类对象直接赋给一个对应的基本类型变量

备注:自动装箱和自动拆箱功能是在JDK1.5版本里实现的,在JDK1.5之前,把基本数据类型变量变成包装类实例需要通过对应包装类的valueOf()静态方法来实现。在JDK1.5以前,如果希望获得包装类对象中包装的基本类型变量,则可以以后私用包装类提供的xxxValue()实例方法,如下图。目前我来看JDK1.5以后的自动装箱和自动拆箱依然是调用的这两个方法,只是不再需要我们手动去调用而已。

//自动装箱代码示例
Integer i = 1;

//自动拆箱代码示例
Integer m = new Integer(1);
int n = m;

 除此之外,包装类还可以实现基本类型变量和字符串之间的转换。把字符串类型的值转换为基本类型的值有两种方式。
    1. 利用包装类提供的parseXxx(String s)静态方法(除Character之外的包装类都提供了该方法。)
    2. 利用包装类提供的valueOf(String s)静态方法。  
 同时,String类特提供了多个重载valueOf()方法,用于将基本类型变量转换成字符串,如下图所示。

 

开源的预测气象大模型与数据获取/可视化 「开源气象大模型与数据获取指南」摘要: 当前主流AI气象模型(如ECMWF的AIFS、DeepMind的GraphCast、华为Pangu等)主要基于ERA5/HRES数据训练。开源资源可通过ECMWF OpenData、GitHub仓库及Google Cloud获取,其中AIFS数据采用CCBY-4.0许可可商用,其他模型多有限制性许可。典型应用流程包括:1)通过Python包获取实时预报数据;2)加载预训练权重进行推理;3)使用xarray/cartopy或Zarr进行可视化。训练数据可从CDS下载ER 阅读详情

相关推荐

BEVFormer vs BEVFusion:5个关键差异点帮你选对环视感知方案

本文深入对比了自动驾驶领域两大主流环视感知方案BEVFormer与BEVFusion。BEVFormer作为纯视觉BEV感知的标杆,通过注意力机制隐式学习深度,成本较低;而BEVFusion作为多模态融合典范,融合激光雷达与摄像头数据,在性能、小目标检测及极端环境鲁棒性上优势显著。文章从计算效率、部署成本、数据依赖性等五个核心维度提供选型指南,帮助技术决策者根据自身算力预算与传感器配置做出明智选择。

weixin_29306011的博客 123

java基础--06(自动装箱拆箱)

目录 1.自动装箱,自动拆箱 1.自动装箱,自动拆箱 装箱就是自动将基本数据类型转换为包装器类型;拆箱就是 自动将包装器类型转换为基本数据类型。 java的数据类型: 自动装箱: 最主要的就是Integer b=a;这行代码执行了什么?其实这就是自动装箱的过程,上面程序在执行Integer b=a;的时候调用了Integer.value...

最后的武艺集大成者 1万+

72-dify案例分享-揭秘!如何用 Dify 实现多语言 PDF 文档原格式翻译

本文围绕 Dify 1.6 + 版本,演示搭建 PDF 文档翻译 Agent:配置 MCP 服务、构建 Agent 并以 URL 传文件测试,实现高效翻译,展现 MCP 跨工具复用与简化集成的优势,助力 AI 应用开发。

个人技术 2285

详解Java的自动装箱与拆箱(Autoboxing and unboxing)

一、什么是自动装箱拆箱 很简单,下面两句代码就可以看到装箱和拆箱过程 //自动装箱 Integer total = 99; //自定拆箱 int totalprim = total; 简单一点说,装箱就是自动将基本数据类型转换为包装器类型;拆箱就是自动将包装器类型转换为基本数据类型。 下面我们来看看需要装箱拆箱的类型有哪些: 这个过程是自动执行的,那么我们需要看看它的执行过...

欢迎关注微信公众号:DroidMind 1万+

Zynq UltraScale+ RFSoC实战:用XCZU49DR开发板实现雷达信号处理全流程

本文详细介绍了如何利用Xilinx Zynq UltraScale+ RFSoC系列中的XCZU49DR开发板,高效实现雷达信号处理全流程。文章深入剖析了该芯片集成的射频直采ADC/DAC、可编程逻辑与Arm多核处理器的异构计算优势,并通过实战案例展示了从环境搭建、硬件链路设计到软件优化的完整开发路径,为相控阵雷达等高性能应用提供了单芯片解决方案。

weixin_29291863的博客 575

LCL滤波器参数设计实战:从理论约束到工程选型指南

本文提供了LCL滤波器参数设计的实战指南,从理论约束到工程选型逐步拆解。核心在于平衡总电感量、电感比与电容值,确保谐振频率落在安全区间,以满足并网电流谐波标准并维持系统稳定。文章以10kW并网逆变器为例,给出了具体的参数计算流程与选型步骤,并强调了寄生参数、阻尼设计等工程实现细节。

c6d7e8f9g的博客 921

Java中的自动装箱和自动拆箱

类型间的转换:(基本数据类型、包装类、String) 代码演示自动装箱和自动拆箱: public void test3(){ //自动装箱:基本数据类型 --->包装类 int num2 = 10; Integer in1 = num2;//自动装箱 boolean b1 = true; Boolean b2 = b1;//自动装箱 //自动拆箱:包装类--->基本数据类型 System.out.println(in1.toString());

zry2580的博客 337

从Gcode命令看3D打印机的‘大脑’:Marlin/Klipper固件是如何执行你的指令的?

本文深入解析3D打印机固件Marlin和Klipper如何执行Gcode指令,从语法解析到运动控制算法,再到温度管理,详细揭示了从指令到物理动作的转化过程。通过对比两大固件的设计哲学和性能优化技巧,帮助用户更好地理解和调优3D打印机的核心控制系统。

weixin_26763955的博客 382

java 自动拆箱_Java中的自动装箱拆箱

Java中的自动装箱拆箱一、自动装箱与自动拆箱自动装箱就是将基本数据类型转换为包装类类型,自动拆箱就是将包装类类型转换为基本数据类型。1 //自动装箱2 Integer total = 90;34 //自动拆箱5 int totalprim = total;以 整数型 Integer 为例 ,从上面代码分析:装箱与拆箱的过程(一)、自动装箱total声明的是包装类型Integer,数值90是数据常...

weixin_42149153的博客 1609

【CIC-IDS数据集+机器学习】实现网络流量异常检测

本项目基于CIC-IDS数据集,使用多种机器学习算法实现网络流量异常检测系统。项目采用了完整的机器学习工作流程,从数据预处理到模型部署,实现了高精度的网络入侵检测。

XiaoMu_001的博客 1934

机器学习项目(四)疫情期间网民情绪识别 (一)

疫情期间网民情绪识别 赛题背景 2019新型冠状病毒(2019-nCoV)感染的肺炎疫情发生对人们生活生产的方方面面产生了重要影响,并引发国内舆论的广泛关注,众多网民参与疫情相关话题的讨论。为了帮助政府掌握真实社会舆论情况,科学高效地做好防控宣传和舆情引导工作,本赛题针对疫情相关话题开展网民情绪识别的任务。 数据介绍 训练集 10万条 无标记样本90万条 测试集1万条 数据集依据与“新冠肺炎”相关...

qq_33357094的博客 8970

Java自动装箱与自动拆箱(包装类)

https://blog.csdn.net/weixin_40556448/article/details/92060659 一、基本介绍 包装类的作用: Java 语言中,一切都是对象,但是有例外:8 个基本数据类型不是对象,因此在很多时候非常不方便。 为此, Java提供为 8 个基本类型提供了对应的包装类: byte ------- Byte short ------ Short ...

yygr的博客 880

浅析ArcGis中的软件——ArcMap、ArcScene、 ArcGlobe、ArcCatalog

ArcMap:是集空间数据显示、矢量数据编辑、冲突数据检查(拓扑检查)、查询检索(地理编码)、统计(字段属性表)、报表生成、空间分析(ArcGIS Spatial Analyst)和高级制图(制图表达)等众多功能干一体的桌面应用平台软件。而且提供所见即所得的符号编辑器,令用户可以随心所欲地生成任意复杂的点、线、面符号。所支持的空间数据格式包括Arclnfo coverages、ESRI shapefiles、ArcSDE lavers、DXF、DWG、DGN、常见的图像格式、GRIDs、TINs等。

lxlmycsdnfree的博客 6563

自动装箱,拆箱和NoSuchMethodError

J2SE 5为Java编程语言引入了许多功能。 这些功能之一是自动装箱和拆箱,这是我几乎每天都没有考虑过的功能。 它通常很方便(尤其是与收藏夹一起使用时),但有时会导致一些令人讨厌的惊喜,即“怪异”和“疯狂” 。 在此博客文章中,我介绍了一种罕见的NoSuchMethodError案例(对我来说很有趣),该案例是由于在自动装箱/拆箱之前将使用Java版本编译的类与使用包括自动装箱/取消装箱的J...

cunfen6312的博客 145

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

[疯狂Java]面向对象:基本类型的包装器类型、自动装箱/拆箱、包装器类型大小/相等比较

1. 基本类型的包装器类型:     1) Java并不是严格的面向对象语言就是因为存在8中基本类型数据(int、char、double、boolean等),它们并不是类对象;     2) 提供这8中基本类型主要是为了照顾C程序员的传统习惯;     3) 为了让这8中基本类型也能面向对象,Java为其提供了包装器类型,名称都是各个基本类型的首字母大写(Long、Double、Float、

Lirx_Tech的专栏 1934

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

《疯狂java讲义》学习(12):包装类

增强包装类 为了解决8种基本数据类型的变量不能当成Object类型变量使用的问题,Java提供了包装类(Wrapper Class)的概念,为8种基本数据类型分别定义了相应的引用类型,并称之为基本数据类型的包装类。 除了int和char有点例外之外,其他的基本数据类型对应的包装类都是将其首字母大写即可。 把基本数据类型变量包装成包装类实例是通过对应包装类的构造器来实现的,不仅如此,8个包装类中除了...

泛泛之素 890

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

《疯狂Java讲义》(第5版) 李刚

第1章 Java语言概述与开发环境、 1.1 Java语言的发展简史 JDK1.0 : Sun在1996年年初发布了JDK 1.0,该版本包括两部分:运行环境(即JRE)和开发环境(即JDK)。运行环境包括核心API、集成API、用户界面API、发布技术、Java虚拟机(JVM)5个部分;开发环境包括编译Java程序的编译器(即javac命令)。 JDK1.1 : Sun在1997年2月18日发布了JDK 1.1,该版本增加了JIT(即时编译)编译器。 JDK 1.2 : 1998年12月Su

墨雨的博客 3万+

Java学习笔记(疯狂Java讲义第三版)——包装类

包装类是什么? 就是Java语言为其中的8种基本数据类型(byte、short、char、int、long、float、double、boolean),分别定义了相应的引用类型。简单来讲就是为8种基本数据类型分别定义了相应的类。 为什么需要包装类? 首先,Java语言是面向对象的编程语言,面向对象的三大特性(继承、封装、多态)主要是通过类和对象实现的。而Java语言中的8个基本数据类型不是类更不是...

weixin_45359980的博客 193

《疯狂Java讲义》学习笔记 第六章 面向对象(下)

第六章 面向对象(下) 6.1包装类 基本数据类型 包装类 byte Byte short Short int Integer long Long char Character float Float double Double boolean Boolean JDK1.5提供了自动装箱(Autoboxing)和自动拆箱(AutoUnboxing)功能,所谓自动装箱,就是可以把一个基本类型变量直接赋给对应的包装类变量,或者赋给Object变量(Object时所

weixin_45708609的博客 319

读《疯狂Java讲义》笔记总结三

1.初始化块 实际上初始化块是一个假象,使用javac命令编译Java类后,该Java类中的初始化块会消失——初始化块中代码会被“还原”到每个构造器中,且位于构造器所有代码的前面。 2.p125-p128自动装箱,自动拆箱不太懂 3.包装类 4.单例类 实例: //提供一个静态方法,用于返回Singleton实例 //该方法可以加入自定义...

diaopo9520的博客 193

《疯狂Java讲义精粹》读书笔记4 ---- 基本包装类

------------《疯狂Java讲义精粹》读书笔记5-------------- Java 是面向对象的语言,它既保留了8中基本数据类型,也提供了8中相对应的包装类(Wrapper Class): 基本数据类型 byte short int long char float double...

HouRui2000的博客 183

《疯狂Java讲义》读书笔记4

在初始化阶段则负责初始化这些静态成员变量,初始化静态成员变量就是执行类初始化代码或声明类变量时指定的初始值,他们的执行顺序与源代码中的排序相同。然后对于普通初始化块,是在构造器之前执行,也是上溯至 java.lang.Object 类(如果有普通初始化块或者构造器),先执行它的初始化块,然后执行它的构造器……编译时,要执行其父类的静态初始化块,一直上溯至 java.lang.Object 类(如果有静态初始化块),执行其的静态初始化块,最后才执行该类的静态初始化块。是构造器的补充,在构造器之前执行。

明里灰的博客 351

《疯狂java讲义》读书笔记(二):面向对象

《疯狂java讲义》读书笔记(二):面向对象 由于时间关系,书里面一些内容是我省略了的,比如说内部类和lambda表达式。 1.关于Java8增强的包装类 ​ 基本数据类型有8种,但是这8种基本数据类型并不指出面向对象的编程机制。为了解决8种基本数据类型不能当成Object类型变量使用的问题,就提供了包装类的概念。除了int和char之外,其他基本数据类型对应的包装类都是将其首字母大写即可,i...

NayelyA的博客 181

[疯狂Java讲义精粹] 第五章|面向对象(下)

0. 几个关键字. final关键字修饰变量、方法和类: 系统不能为final变量重新赋值, 子类不允许覆盖父类的final方法, final类不能派生子类.abstract和interface两个关键字分别用于定义抽象类和接口. 抽象类和接口都是从多个子类中抽象出来的共同特征, 但抽象类主要作为多个类的模板, 接口则定义了多个类应遵守的规范.enum关键字用于创建枚举类. 枚举类是一种不能

180斤的专栏 1239

疯狂Java讲义-面向对象(下)

面向对象(下) 包装类(Wrapper Class) 解决8种基本数据类型当成Object类型变量使用 基本数据类型的包装类 byte == Byte short == Short int == Integer long == Long char == Character float == Float double == Double boolean == Boolean JKD1.5提供了自...

u011714517的博客 406

Java-java疯狂讲义-第六章面向对象(下)-6.1Java8增强的包装类

6.1Java8增强的包装类 JDK 1.5提供了自动装箱和自动拆箱功能,允许把基本类型值直接赋给对应的包装类引用变量,也允许把包 装类对象直接赋给对应的基本类型变量。 Java变成语言包含8种不支持面向对象的基本类型。基本类型没有面向对象的特性:没有成员变量、方法。为了解决8中基本数据类型不能当成Object类型变量使用的问题,Java提供了包装类的概念。为8种基本类型分别定义了相对应的引用...

363
上一篇: java疯狂讲义总结-成员变量和局部变量(1)
下一篇: SSH反向代理访问内网设备的22端口以及80端口
try_learner
博客等级 码龄9年 35粉丝 44原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值