码迷,mamicode.com
首页 > 其他好文 > 详细

包装类

时间:2018-07-20 22:36:11      阅读:178      评论:0      收藏:0      [点我收藏+]

标签:直接   特殊   运算   存储   针对   shc   区别   col   技术分享   

由于基本类型本身没有方法和属性,所以为了快捷的操作这些数据,针对每一种基本类型提供了对应的类形式.

技术分享图片

自动封箱(底层会默认调用当前类中的valueOf()方法)

int i=6;
//将基本类型的变量直接赋值给了对应的引用类型的对象
Integer in=new Integer(i);
//Integer in=Integer.valueOf(i);    当数值范围在-128~127之间的时候(仅限于四种整数类型),返回了Integer.cache中对应下标上的值,超出范围则会返回一个新对象,可以用来判断自动封箱是调用valueOf方法来实现而不是创建对象得到的
System.out.println(in);

自动拆箱(底层会默认调用当前类中的intValue()方法)

Integer in=new Integer(10);
int i=in;
System.out.println(i);
//包装类型在和基本类型进行运算的时候,底层会自动拆箱
int i=128;
Integer in=128;
System.out.println(i==in);

整型和浮点型数据允许将字符串转化为对应类型(对象)或基本类型(变量)

 

特殊的:

 

Character 只能将字符转化为Character类型

 

Boolean 允许将字符串转化为对应类型,但结果不是true(忽略大小写)就是false

 

 

Integer in=new Integer("456");
System.out.println(in);

 

包装类提供了许多相似的方法

intValue           自动拆箱时底层会调用该方法

parseInt(character)   将字符串转化为相应的基本类型(变量)

 

int i=Integer.parseInt("-456");
System.out.println(i);

 

hashCode   字面量的哈希码都是固定的,输出的值是强转为int类型后的值((特殊的)boolean(true:1231)(false:1237)),区别于Object对象或其它对象可变的哈希码值。

补充:

 

字面量:整数、小数、字符、字符串、布尔、空

 

null的哈希码规定为0

 

所有的字面量都是存储在运行时常量池

 

常量池存储的是字面量以及自定义常量(final修饰的常量)

 

包装类

标签:直接   特殊   运算   存储   针对   shc   区别   col   技术分享   

原文地址:https://www.cnblogs.com/lj-cn/p/9343680.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!