栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

【记录】java中Character和char的区别

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【记录】java中Character和char的区别

做题的时候发现的,查完资料后记录如下:

Character是char的包装类,就像Integer和int ,以及Long和long一样。
http://www.cnblogs.com/dolphin0520/p/3780005.html
此作者提供了许多帮助,十分感谢

Character是char的包装类,注意它是一个类,提供了很多方法的。同时我对包装类、封箱等不熟悉,在此也顺带介绍下:

有了基本数据类型,为什么还需要包装类型

第一个是在某些场合不能使用基本类型必须使用包装类,比如集合能接收的类型为Object,基本类型是无法添加进去的,还有范型也必须使用包装类。

第二个是值类型是无法赋空值的,如果使用包装类型Integer score,就可以表示这种情况,因为Integer的默认值为空。

第三个是使用类的方法。假设有这样一个场景,我接收到一个String型的数据想把它转换为整型,如果没有包装类这个操作是无法完成的,有了包装类我们可以这样做:

String num1 = "123";
int num2 = Integer.parseInt(num1);
封箱与拆箱

装箱就是自动将基本数据类型转换为包装器类型;拆箱就是自动将包装器类型转换为基本数据类型。一共有八种基本数据类型都有对应“封箱”他们分别是:

基本数据类型 包装类

byte Byte

boolean Boolean

short Short

char Character

int Integer

long Long

float Float

double Double

在Java SE5之前,如果要生成一个数值为10的Integer对象,必须这样进行:

Integer i = new Integer(10);

而在从Java SE5开始就提供了自动装箱的特性,如果要生成一个数值为10的Integer对象,只需要这样就可以了:

Integer i = 10;

这个过程中会自动根据数值创建对应的 Integer对象,这就是装箱。
那什么是拆箱呢?顾名思义,跟装箱对应,就是自动将包装器类型转换为基本数据类型:

Integer i = 10;  //装箱
int n = i;   //拆箱

简单一点说,装箱就是 自动将基本数据类型转换为包装器类型;拆箱就是 自动将包装器类型转换为基本数据类型。

回归主题

先介绍:
Java 的两大数据类型:
● 基本类型(或者叫做内置类型)
● 引用数据类型

基本类型:不存在“引用”的概念,基本类型都是直接存储在内存中的内存栈上的,数据本身的值就是存储在栈空间里面,而Java语言里面只有这八种数据类型是这种存储模型;
引用数据类型:“引用”是存储在有序的内存栈上的,而对象本身的值存储在内存堆上的。

照应开头所讲有些数据结构库类只能操作对象,而不支持基本数据类型的变量,包装类提供一种便利的方式,能够把基本数据类型转换成等价的对象,从而可以利用数据结构库类进行处理。
如:HashMap map=new HashMap();这样就可以使用,
但是当定义为:
HashMap map=new HashMap();
就不行。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/756518.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号