java包装类的作用、基本类型和包装类型的区别

简介: java包装类的作用、基本类型和包装类型的区别

java中有8中基本数据类型,对应都有各自的包装类如图:

主要原因

因为Java是一种面向对象语言,很多地方都需要使用对象而不是基本数据类型

1.对象化

包装类将基本类型封装成对象,使其具有对象的特性,例如可以调用方法、进行比较和使用泛型等。这对于需要将基本类型作为对象处理的情况非常有用。

2.泛型支持

泛型只能接受引用类型,而不能接受基本类型。通过使用包装类,可以将基本类型转换为引用类型,并在泛型中使用。

3.集合框架支持

Java的集合框架(如List、Set、Map等)只能存储对象,无法直接存储基本类型。包装类提供了将基本类型转换为对象的功能,使其可以被集合框架使用。

4.null值表示

包装类可以表示null值,而基本类型不具备这种能力。这在需要表示一个值可能不存在的情况下很有用,例如数据库查询结果可能为空的情况。

5.类型转换

包装类提供了许多方法用于类型转换和数值处理。例如,Integer类提供了parseInt()方法用于将字符串转换为整数。

6.反射操作

反射操作通常涉及到对象的创建、方法调用和字段访问,因此需要使用引用类型。通过使用包装类,可以对基本类型进行反射操作。

为了让基本类型也具有对象的特征,就出现了包装类型,它相当于将基本类型“包装起来,使得它具有了对象的性质,并且为其添加了属性和方法,丰富了基本类型的操作。

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

1.默认值不同

基本类型的默认值为0,false或\u0000等,包装类默认为null

2.初始化方式不同

一个需要new,一个不需要。

3.存储方式不同

基本类型保存在栈上,包装类对象保存在堆上(成员变量的话,在不考虑川T优化的栈上分配时,都是随着对象一起保存在堆上的)。

4.泛型支持不同

基本类型不能直接用于泛型类型参数包装类型可以使用泛型,因为它们是引用类型。

5.基本类型不具备对象的方法和属性

不能调用方法或访问属性,包装类型是对象,可以调用对象的方法和访问对象的属性。

目录
相关文章
|
1天前
|
安全 Java
【JAVA】在 Queue 中 poll()和 remove()有什么区别
【JAVA】在 Queue 中 poll()和 remove()有什么区别
|
1天前
|
存储 安全 Java
【JAVA】concurrentHashMap和HashTable有什么区别
【JAVA】concurrentHashMap和HashTable有什么区别
|
1天前
|
安全 Java
【JAVA】线程的run()和start()有什么区别?
【JAVA】线程的run()和start()有什么区别?
|
1天前
|
Java API
【JAVA】final、finally、finalize 有什么区别?
【JAVA】final、finally、finalize 有什么区别?
|
1天前
|
安全 Java 程序员
Java 泛型类型:变幻中的不变性
【4月更文挑战第21天】
4 1
Java 泛型类型:变幻中的不变性
|
3天前
|
JavaScript 前端开发 Oracle
java和JavaScript的区别
java和JavaScript的区别
7 3
|
5天前
|
存储 Java
JAVA变量类型
JAVA变量类型
11 0
|
Oracle Java 关系型数据库
我的Java开发学习之旅------>解惑Java进行三目运算时的自动类型转换
今天看到两个面试题,居然都做错了。通过这两个面试题,也加深对三目运算是的自动类型转换的理解。 题目1.以下代码输出结果是()。 public class Test { public static void main(String[] args) { int a=5; System.
994 0
|
3天前
|
数据采集 存储 Java
高德地图爬虫实践:Java多线程并发处理策略
高德地图爬虫实践:Java多线程并发处理策略