Integer源码解析
类定义
Java的Integer类主要的作用就是对基本类型int进行封装,提供了一些处理int类型的方法,比如int到String类型的转换方法或String类型到int类型的转换方法,当然也包含与其他类型之间的转换方法。除此之外还有一些位相关的操作
java
1 | public final class Integer extends Number implements Comparable<Integer> |
- Integer被final修饰的,不可以被继承(由于被final修饰)
- 继承于Number类(该类继承了Serializable序列化接口),需要重写各种xxxValue方法,xxxValue方法就是转换成对应的类型。Number类是java.lang包下的一个抽象类,提供了将包装类型拆箱成基本类型的方法,所有基本类型的包装类型都继承了该抽象类
- Integer实现了比较接口(需要重写compareTo方法)。自动装箱也就是调用了Integer类的一个静态方法valueOf方法(该方法返回Integer对象)
主要变量
java
1 | //最小值常量(十六进制补码形式表示):-2<sup>31</sup> |
内部类
使用亨元模式,来减少对象的创建
java
1 | //代码执行优先级:静态代码块(一个类)>代码块>构造函数 |
构造方法
java
1 | //参数为int类型的构造函数 |
主要方法
toString
java
1 | /** |
hashcode
java
1 | //返回int类型的值 |
equals
java
1 | public boolean equals(Object obj) { |
填充字符数组
java
1 | /** |
int类型对应字符串长度
java
1 | // Requires positive x |
parseInt(字符串转int)
java
1 | /** |
自动装箱valueOf(int转Integer)
java
1 | //将某进制的字符串转为Integer类型的数字 |
自动拆箱
java
1 | //将int类型的值强转为byte类型 |
getInteger
java
1 | /** |
decode
java
1 | //作用:解码字符串转成Integer型对象 |
比较compare
java
1 | /** |
数值运算
java
1 | //将int型数据转成无符号long类型数 |
位运算
java
1 | //返回在二进制情况下,i的最高位为1,其他全为0的值。 |