Java包装器类及自动装箱(自动打包)
1、为什么需要包装器类?
Java语言是一个面向对象的语言,但是Java中的基本数据类型却是不面向对象的,这在实际使用时存在很多的不便。例如,我们有时候需要将int这种基本类型转换为对象类型的,所有的基本类型都有一个与之对应的类,我们把它们叫包装器类。
2、Java中常见的包装器类?
基本数据类型 | 包装类 |
---|---|
byte | Byte |
boolean | Boolean |
short | Short |
char | Character |
int | Integer |
long | Long |
float | Float |
double | Double |
注意:
- String不属于包装类,在Java中,包装类是针对基本数据类型的,引用类型没有包装类。
- 由于每个值分别包装在对象里,所以ArraysList的效率比使用数组进行操作要低很多。
3、自动装箱和自动拆箱
为了理解自动装箱,我们定义一个ArrayList:
ArraysList list = new ArraysList<>();
自动装箱:
如果调用 List.add(3); 语句,将自动转换为list.add(Integer.valueof(3));
也就是说,自动装箱将自动把int类型数据包装成Integer类型。
自动拆箱:
相反,将一个Integer类型的值赋给一个int类型的变量时,将会自动拆箱。
这种自动装箱和自动拆箱在运算符中也会存在。
注意:
可以将一个基本数据类型打包成不同的包装器类
例如,可以将int类型包装成Integer,也可以包装成Double,还可以打包成String类型。
Java包装器类及自动装箱(自动打包)相关推荐
- Java包装器类的作用好处及图解
参考1:包装器类 参考二:自动装箱与拆箱 基本数据类型的包装类的作用是: 1.作为和基本数据类型对应的类类型存在,方便涉及到对象的操作. 2.包含每种基本数据类型的相关属性如最大值.最小值等,以及相关 ...
- java包装器类_Java中的基本类型和包装类
Java中基本数据类型与包装类型有 基本类型 包装器类型 boolean Boolean char Character int Integer byte Byte short Short long L ...
- Java — 包装器类
包装器类的概念 1.基本概念 为了能将基本类型视为对象来处理,并能连接相关的方法,提供了包装器类. 八种基本数据类型对应的包装器类分别为:Byte.Short.Character.Integer.Lo ...
- java类包装器有什么用_Java中的包装器类
java类包装器有什么用 Wrapper class in java are the Object representation of eight primitive types in java. A ...
- java 自动装箱自动拆箱_自动装箱和自动拆箱
自动装箱和自动拆箱 Java 提供了 8 种基本数据类型,每种数据类型都有其对应的包装类型,包装类是面向对象的类,是一种高级的数据类型,可以进行一些比较复杂的操作,它们是引用类型而不再基本类型了. 基 ...
- 包装类、自动装箱/自动拆箱
1.包装类 1.1概念 基本类型是一个变量,只能保存值,没有其它的功能,所以对基本类型进行包装,包装成为包装类型,去提供更加丰富的功能. 1.2基本类型对应的包装类型 基本类型 ----- 对应的包装 ...
- java基础语法-day24-25进阶-Arrays工具类String自动装箱自动拆箱
p576 Arrays工具类 p577 冒泡排序 import java.util.Arrays;public class BubbleSort {/*** 冒泡排序:*/public static ...
- java 自动装箱自动拆箱
1.Java数据类型 在介绍Java的自动装箱和拆箱之前,我们先来了解一下Java的基本数据类型. 在Java中,数据类型可以分为两大种,Primitive Type(基本类型)和Reference ...
- java 自动装箱自动拆箱,java自动装箱、自动拆箱和正常情况性能比较
自动装箱和自动拆箱是java5.0版本引入的,能自动将基本类型转换为对应的基本类型包装对象,那么我们比较一下他们的性能情况. package com.wmmad.test; import junit. ...
最新文章
- 全球比特币和区块链领域创业企业全景图
- java一定时间间隔的定时任务_Java 定时任务---Timer
- POJ-1201 Intervals---差分约束
- 如何测得存储空间大小
- 用python画皇冠_手把手教你用 Python 绘制酷炫的桑基图!
- 聊聊spring-boot-starter-data-redis的配置变更
- idea可以使用flash框架吗_可以使用 C# 的 Web 前端框架 Blazor
- sql server 高可用故障转移(6)
- 异常mongodb:Invalid BSON field name XXXXXX:YYYYY.zz
- Python关键点常识
- UI设计中的图标分为哪些类型?
- mysql备份 php_详解MYSQL的备份还原(PHP实现)
- java+junit百科_JUnit介绍
- html json加密 ajax请求问题
- 自备ACM模板 —— 数学篇
- 异常值(outlier)的判别与剔除
- Unity Panel 控件
- 医院计算机房相关制度,医院机房管理制度.docx
- [16]质量控制工具 因果图-帕累托图-直方图-趋势图等
- 计算机专业大二寒假还没入门,关于考研的入门问题我是一个大二的
热门文章
- 【简介】操作系统概念
- 转:Mysql explain
- C#学习笔记-ContextMenuStrip
- FPGA开发全攻略——ISE基本操作
- IOS 预览pdf,word文档的集中方式
- 设计模式07_建造者
- 数据库与Excel表格链接PHP,php读取Excel表格(Excel也可以做数据库)调用phpExcel类库...
- 避坑!用大数据告诉你,那些被淘汰的公司,都有哪些特征?
- 数据分析究竟有没有价值?看完这个案例你就明白了
- java中this,super,extends,implements相关继承概念讲解