java基础09- 常用类
常用类
他们都在java.lang包中
Object类
Object
类是类层次结构的根。每个类都有Object
作为超类。所有对象,包括数组,实现这个类的方法。- hashCode()
- toString()
- clone()
- getClass()
- notify()
- wait()
- equals()
- .........
Math类
- 常见的数字运算
Random类
- 生成随机数 UUID
File类
- 创建文件
- 查看文件
- 修改文件
- 删除文件
包装类
- 自动装箱(auto_boxing)和拆箱(auto_unboxing)(jdk1.5之后)
自动装箱和拆箱是在编译期阶段,和运行阶段无关。
Date类
- Date
- SimpleDateFormat yyyy-MM-dd HH:mm:ss
- Calender(建议使用)
String类
- 不可变性final 存在于字符串常量池中 操作量较少
- 提升字符串的访问效率,在程序中使用了“缓存”技术,所以在java中所有使用“双引号”括起来的字符串都会在字符串常量池中创建一份,字符串常量池在方法区中被存储。
StringBuffer类
1.工作原理
预先在内存中申请一块空间,以容纳字符序列;如果预留的空间不够用,则进行自动扩容,以容纳更多字符序列
2.StringBuffer,StringBuilder,string的最大区别?
String是不可变的字符序列,存储字符串常量池中
StringBuffer底层是一个char数组,但是该char数组是可以变的,并且可以自动扩容。
3.StringBuffer和StringBuilder的默认初始值是16.
4.StringBuffer和StringBuilder如何优化?
最好在创建StringBuffer之前,预测StringBuffer的存储字符数量,然后再创建StringBuffer的时候采用指定初始化容量的方式创建StringBuffer,为了减少底层数组的拷贝,提高效率。
- 可变长 多线程 数据量较大 效率低,安全
StringBuilder类
- 可变长 单线程 数据量较大 效率高 不安全