包装类
Posted lj-cn
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了包装类相关的知识,希望对你有一定的参考价值。
由于基本类型本身没有方法和属性,所以为了快捷的操作这些数据,针对每一种基本类型提供了对应的类形式.
自动封箱(底层会默认调用当前类中的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修饰的常量)
以上是关于包装类的主要内容,如果未能解决你的问题,请参考以下文章