包装类
基本数据类型 | 包装类 | 基本数据类型 | 包装类 |
---|---|---|---|
int | Integer | char | Character |
byte | Byte | boolean | Boolean |
short | Short | float | Float |
long | Long | double | Double |
赋值的数组在赋值过程中发生了装箱,使用了Integer.valueOf()方法
拆箱使用的xxxValue(), 这里的xxx要看是什么数据类型
如:整数如果发生拆箱,那么就需要使用intValue();
自动装箱
Integer num = 5;
Integer num = Integer.valueOf(5);
自动拆箱
Integer num = new Integer(10);
int a = num;
int a = num.intValue();
字符串转基本数据类型
int num = Integer.parseInt("11");
float f = Float.parseFloat("12.5");
short s = Short.parseShort("5");
字符串
String、StringBuilder、StringBuffer
StringBuilder
StringBuilder是一个可变字符序列
StringBuilder成为字符串缓冲区(默认缓冲区长度16)工作原理
预先申请一块内存,存放字符序列 如果字符序列满了,会重新改变缓存区的大小 以容纳更多的字符序列StringBuilder可是可变对象,这是与String的最大不同
继承关系class StringBuilder extends AbstractStringBuilder
注意
StringBuffer 和 StringBuilder使用是一模一样
因为他们都是继承的同一个父类AbstractStringBuilder,具体方法的实现都是父类实现
StringBuffer 和 StringBuilder区别
StringBuffer:线程安全(上锁),在多线程下使用,效率更低
StringBuilder:线程不安全(没有上锁),在单线程下使用,效率更高