6.Boolean类源码解析

1.

对应基值 true和false 的 Boolean 对象,还有一个是表示基本类型 boolean 的 Class 对象,底层调用的Class.getPrimitiveClass是native方法

2.

两个属性,一个是存值的,还有一个是序列化时候用来对比的id,不多介绍啊,

3.

这里我们一起看这两个构造函数,第一个构造函数不说了,第二个构造函数是将字符串转化成Boolean类型,这里是不区分大小写的。

4.

返回boolean的值

5.

两个valueOf 将值转化为Boolean方法,第一个不多说了,第二个是将字符串转化为Boolean,可以看到底层调用的是parseBoolean()方法,前面我们分析过这个方法,是不区分大小写的。

6.

两个toString方法,第一个很简单,不多说,第二个不传参数,则返回当前的value值,是就“True” 不是则“false”注意这个是有引号的。

7.

这里是获取hashCode,但是为什么是1231,1237?,,博主查阅了一下,理论上取任意的素树都可以,但是为什么是这个,多半是作者开心。。。

8.

比较两个对象,理论上,先做instanceof 原因无非就是提高效率,博主在之前的文章中有提到过,可以看到,equal 底层比较的还是属性value的值

9.

这个方法名字很容易让别人弄错,实际上这个方法是看传入的参数是否在系统属性中,是就是true 不是就是false

10.

比较两个boolen,如果系统,则是0,不同的话如果前一个参数是true 则是true,如果是false则是false

11.

一个and 一个or 一个xor  ,博主查了一个 xor是异或的意思,如果a、b两个值不相同,则异或结果为1。如果a、b两个值相同,异或结果为0。



PS:哪里不对可以在评论中指出,我都会一个个看的,觉得少东西也可以评论中提出来,我会做补充。

你可能感兴趣的:(6.Boolean类源码解析)