一、包装类(也叫包裹类 Wrapper)
Java 针对八种基本数据类型提供了对应的包装类
基本数据类型----对应的----------包装类
byteByte
shortShort
intInteger
longLong
floatFloat
doubleDouble
charCharacter
booleanBoolean
1、基本数据类型与包装类之间的转换
装箱:将基本数据类型转换成对应的包装类
①通过对应包装类的构造器
②通过对应包装类的静态方法 valueOf()
拆箱:将包装类转换成对应的基本数据类型
①通过对应包装类对象的 xxxValue(). xxx:表示对应的基本数据类型
2、自动装箱与自动拆箱( jdk1.5后 )
Integer num1 = 100;//自动装箱
Integer num2 = 100;
int a = num1;//自动拆箱
System.out.println(num1 == num2);//true
Integer num3 = 130;
Integer num4 = 130;
System.out.println(num3 == num4);//false 因为超出了int 的范围
注意:Integer 提供了一个小的缓存(-128~127)之间,若需要装箱的值在该取值范围内,则从缓存区间中取出,若需要的装箱值超过
该取值范围,则重新 new Integer 的实例
3、String 与基本数据类型、包装类之间的转换
基本数据类型、包装类转换成 String
①String str = a + "";
②使用对应的包装类的静态方法:tostring()
③使用 String 类中的方法 value()
String 转换成 基本数据类型和包装类
①通过对应包装类的构造器
②通过对应包装类的静态方法 parseXxx(). Xxx代表对应的基本数据类型,注意:没有 parseChar()
③使用对应包装类的静态方法 valueOf
二、字符串处理类型:String
不可变的字符序列
String str1 = "aba";
String str2 = new String("aba");
String str3 = new String("aba");
str1: 代表一个对象,至少在内存中开辟一块内存空间
str2: 代表两个对象,至少在内存中开辟两块内存空间
三、StringBuffer 与 StringBuilder
可变的字符序列
1、【StringBuffer 与 StringBuilder 的区别】
StringBuffer:是线程安全的,因此效率低
StringBuilder:是线程不安全的,因此效率高
/*
StringBuffer 与 StringBuilder 的常用方法
StringBuffer append(String str):添加
StringBuffer insert(int offset,String str):插入
StringBuffer replace(int start,int end, String str):替换
int indexOf(String dtr):返回子串的位置索引
int lastIndexOf()
String substring(int start, int end):取子字符串序列
StringBuffer delete(int start, int end):删除一段字符串
StringBuffer deleteCharAt(int index):删除指定位置字符
String toString():转换为 String 对象
*/
四、其他常用类
java.util.Date: 表示时间和日期
java.text.DateFormat: 用于格式化日期/时间,是一个抽象类
|----java.text.SimpleDateFormat: 是 DateFormat 的子类
java.time.*: ( jdk1.8 的新的时间日期API)
java.lang.Math: 用于数学运算的类
java.math.BigInteger: 用于操作任意精度的整数
java.math.BigDecimal: 用于操作任意精度的浮点数