JAVA中基本类型和包装类型的区别

基本类型和包装类型的区别

在 Java 中,基本类型(Primitive Types)不是对象。Java 中的基本类型和对象类型有明显的区别,以下是详细的解释:

一、基本类型(Primitive Types)

Java 提供了 8 种基本类型,它们是预定义的数据类型,用于存储简单的数据值。基本类型不是对象,它们直接存储数据值,而不是引用对象。以下是 Java 中的基本类型:

一、整数类型

类型 大小(字节) 范围 默认值
byte 1 -128 到 127 0
short 2 -32768 到 32767 0
int 4 -2147483648 到 2147483647 0
long 8 -9223372036854775808 到 9223372036854775807 0L
float 4 单精度浮点数 0.0f
double 8 双精度浮点数 0.0d
char 2 Unicode 字符集,范围为 \u0000 到 \uffff \u0000
boolean 1(实际占用 1 字节) true 或 false false

二、对象类型(Reference Types)

对象类型是基于类或接口的类型,它们存储的是对象的引用,而不是实际的数据值。对象类型包括:

  • 类(Class)

  • 接口(Interface)

  • 数组(Array)

对象类型的所有实例都是通过new关键字创建的,它们存储在堆内存中,通过引用访问。

三、基本类型与对象类型的比较

3.1 存储方式

  • 基本类型:直接存储数据值,存储在栈内存中。

  • 对象类型:存储对象的引用,实际对象存储在堆内存中。

3.2 默认值

  • 基本类型:有默认值,如int的默认值是0,boolean的默认值是false。

  • 对象类型:默认值是null,表示没有引用任何对象。

3.3 类型转换

  • 基本类型:支持自动类型转换(从小范围类型到大范围类型)和显式类型转换(从大范围类型到小范围类型)。

  • 对象类型:需要通过显式转换(强制类型转换)来改变引用的类型。

3.4 包装类

Java 为每种基本类型提供了对应的包装类,用于将基本类型封装为对象。包装类是对象类型,它们提供了更多的方法和功能。

3.4 包装类

Java 为每种基本类型提供了对应的包装类,用于将基本类型封装为对象。包装类是对象类型,它们提供了更多的方法和功能。

基本类型 包装类
byte Byte
short Short
int Integer
long Long
float Float
double Double
char Character
boolean Boolean

四、示例代码

4.1 基本类型

java 复制代码
int number = 10; // 基本类型 int

4.2 对象类型

java 复制代码
Integer number = new Integer(10); // 对象类型 Integer

五、总结

  • 基本类型:不是对象,直接存储数据值,存储在栈内存中,有默认值,支持自动和显式类型转换。

  • 对象类型:是对象,存储对象的引用,存储在堆内存中,默认值是null,需要显式转换。

相关推荐
小羊没烦恼!5 天前
微服务化的基石——持续集成
java·大数据·word·powerpoint·.net
俊昭喜喜里5 天前
java中的继承和多态的区别
java
小羊没烦恼!5 天前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
譕痕5 天前
JSONObject与JSONArray封装数据格式区别
java·json
胡写代码5 天前
别再前后端各写一套表单校验了
java·后端
小鱼能吃糖5 天前
缺陷修复总览 · mall电商项目:5类缺陷,1个病根,4个业务域
java·电商
此时不提桶,更待何时5 天前
01-06-A-JVM排查实战详解
java·jvm
伞伞悦读5 天前
【第38期】Python 模块与包详解:import、from、模块搜索路径、包结构和 __init__
开发语言·python
vipxieliang5 天前
ValidX 在 DDD 领域驱动设计中的实践
java·spring boot
C语言小火车5 天前
C/C++ 为什么需要编译器?
开发语言·c++