- int Integer
- char Character
- 其他类型都是首字母大写
- 以Integer为例
- public static final Integer extends Number implements Comparable
- comparable 可比较的
- public int compareTo( T o)
- 返回值:正值--大于 ,0--等于 ,负值--小于
- 属性
- MIN_VALUE 最小值-2^31
- MAX_VALUE 最大值2^31-1
- SIZE:32 int 类型的数据占多少位
- BYTE:8 int类型的数据占多少字节
- private final int Value
- 说明包装类维护了一个int的数据,且是不能更改的
- 构造方法:
- public Integer (int value)
- public Integer(String s) 对字符串,根据禁止转换成包装类
- 方法
-
-
- 把字符串类型的数据转换成int
- int parseInt(String s, int radix)
- int parseInt(String s)
- ----------
- 把其它类型转换成Integer
- Integer valueOf(String s, int radix)
- Integer valueOf(int i) ---最根本是调用这个
- public static Integer valueOf(int i) {
- if (i >= IntegerCache.low && i <= IntegerCache.high)
- return IntegerCache.cache[i + (-IntegerCache.low)];
- return new Integer(i);
- }
- IntegerCache维护了一个Integer数组,缓存的是[-128,127]之间的Integer对象
- valueOf(int i)的含义:如果i是[-128,127]内的,就返回缓存对象,否则就重新创建对象
- 汇总:
- Byte:缓存的[-128,127]
- Short:缓存的[-128,127]
- Integer:缓存的[-128,127]
- Long:缓存的[-128,127]
- Character:缓存的是[0,127]对应的字符
- Boolean:缓存TRUE FALSE
- Float、Double并没有缓存。原因:小数个数不确定
- -----------
- 获取value属性中的值
- xxxValue()
- intValue();
- 进制间的转换
- String toHexString(int i)
- String toOctalString(int i)
- String toBinaryString(int i)
- String toString(int i)
- 包装类的使用
- 1、在包装类、基本类型、String类型之间转换
- 2、进制间的转换
-
-
- BigInteger
- 本质: final int[] mag
- 支持数据没有范围
- 做权限验证
- boolean testBit(int n) 检验用户权限
- BigInteger setBit(int n) 设置用户权限
- BigDecimal 小数
- 对小数进行精确存储或计算
- 字符串相关
- String
- 值在创建之后不能个更改。本质:final char[]
- 好处:实现共享,字面值存储在常量池中
- AbstractStringBuilder 可变字符序列
- 本质也是char[] 只不过可以动态的扩容
- String 本质上是一个char数组中所有元素的拼接,修改字符串时就等于是给char数组扩容并添加元素
- 起始创建对象调用append()方法,新建数组长度为16,容量不够时,下次扩容为元数组长度*2+2
- AbstractStringBuilder append(Object obj)
- AbstractStringBuilder insert(int offset, String str)
- reverse();
- indexOf()
- lastIndexOf()
- substring()
- toString();
- StringBuffer
- 线程安全的可变字符序列
- 线程安全:同步锁synchronized
- 适合多线程
- StringBuilder
- 一个可变的字符序列
- 适合单线程
- 本质也是char[] 只不过可以动态的扩容
- String
基本数据类型包装类
最新推荐文章于 2024-04-30 01:27:53 发布