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类

  • 可变长 单线程 数据量较大 效率高 不安全
原文地址:https://www.cnblogs.com/mjjh/p/13295648.html