Java常用类:
  详细建议查看JDK帮助文档。
  Object类:
    - 包地址:java.lang.Object;
    - Object是类层次结构的根。 每个类都有Object作为超类。 所有对象(包括数组)都实现此类的方法。
    hashCode():
      返回对象的哈希码值。
      实例:
        Java常用类_拆箱

        Java常用类_拆箱_02

    toString():
      toString方法返回一个“文本表示”此对象的字符串。
      结果应该是简洁但信息丰富的表示,便于人们阅读。 建议所有子类都重写此方法。
      实例:
        在子类 Alt + insert选中toString()重写此方法。

        Java常用类_线程安全_03

        Java常用类_线程安全_04

          Java常用类_构造器_05

    clone():
      创建并返回一个对象的拷贝。
      clone 方法是浅拷贝,对象内属性引用的对象只会拷贝引用地址,而不会将引用的对象重新分配内存

    getClass():
      返回此Object的运行时类。 返回的类对象是由所表示的类的static synchronized方法锁定的对象。
      实例:

        String 继承了 Object,所以可以直接使用 getClass() 方法:
        Java常用类_线程安全_06

        Java常用类_包装类_07

        自定义类调用 getClass() 方法:

        Java常用类_包装类_08

        Java常用类_构造器_09

    equals():
      指示某个其他对象是否“等于”此对象。
      对于对象来说,特殊的类如"String、File、Date"使用"=="比较的时对象(对象的地址),而eqtuals比较的是内容

      实例:

      Java常用类_拆箱_10

      除了特殊的类之外的其他普通的类的对象 == 跟 equals比较的都是对象(对象的内存地址).

      Java常用类_构造器_11

        如果想要改变某一个类的equals,不想用equals比较对象的内存地址就需要重写equals方法。

      重写equals类:

      Java常用类_包装类_12

      Java常用类_构造器_13 

      Java常用类_构造器_14

 

  包装类:   

    包装类就是针对八种基本类型的封装。

    包装类和基本类型关系图:

    Java常用类_字符串_15

    包装类可以将基本数据类型包装成一个类(装箱):

    实例:

      Java常用类_字符串_16

     获得包装类对象中包装的基本类型变量(拆箱):

    实例:

      Java常用类_构造器_17

     JDK1.5之后支持了自动(装箱)以及(拆箱),但类型必须匹配。

    实例:

      Java常用类_字符串_18

 

  Math类:
    类Math包含用于执行基本数字运算的方法,例如基本指数,对数,平方根和三角函数。
    常用的方法:
      返回值:    方法名:     解释:
      long      round()     返回四舍五入后的整数
      double     floor()       返回小于参数的最大整数
      double     ceil()        返回大于参数的最小整数
      double     random()    返回(0,1)之间随机浮点数
                 max​()       返回两个数值中较大的数
                 min​()     返回两个数值中较小的数

    实例:

    Java常用类_构造器_19

 

  Random类:
    该类的实例用于生成伪随机数流。

    它有两个构造器,一个构造器使用默认的种子,另一个构造器需要传入一个long类型的整数

    构造方法:

    Java常用类_构造器_20

    常用方法:

    Java常用类_拆箱_21

     实例:

    Java常用类_构造器_22

    在并发访问的环境下,使用ThreadLocalRandom来代替Random可以减少多线程资源竞争,最终保证系统具有更好的线程安全性。

    ThreadLocalRandom的用法与Random基本相似,获取该对象之后即可调用各种nextXxx()方法来获取伪随机数.

    实例:

    Java常用类_线程安全_23

 

   File类:

    文件和目录路径名的抽象表示。该类主要用于文件和目录的创建、文件的查找和文件的删除等。

    常用方法:

      createNewFile()     //创建一个新文件
      mkdir()              //创建一个新目录
      delete()             //删除文件或目录
      exists()          //判断File对象所对象所代表的随心是否存在
      getAbsolutePath()      //获得文件的绝对路径
      getName()             //取得名字
      getParent()            //获得文件、目录所在的目录
      isDirectory()           //是否是目录
      isFile()              //是否是文件
      listFIle()            //列出目录下的所有内容
      renameTo()           //修改文件名

    实例:

    文件操作: 创建文件

    Java常用类_字符串_24

    获取文件信息:

    Java常用类_包装类_25

    文件判断 & 删除:

    Java常用类_字符串_26

      文件夹操作: 创建目录:

    Java常用类_字符串_27

     遍历目录:

    Java常用类_构造器_28

      递归遍历目录  实例:

    Java常用类_构造器_29

    递归删除目录(delete方法只能删除空目录所以需要将目录下的文件全部删除) 实例:

    Java常用类_字符串_30

    Java常用类_字符串_31

 

    FileFilter接口:

    对获取的文件进行过滤,将满足条件的文件传入到listFiles()返回值当中。 实例:

    Java常用类_包装类_32

    for (File x:filesISO) {System.out.println(x);} //遍历结果

 String类:
    
不可变性、被final修饰、所有属性也都是final的,拼接、裁剪字符串等动作都会产生新的String对象.
    操作量较少的时候使用.
 StringBuffer类:
    
StringBuffer类是线程安全的可变字符串类,为解决String类拼接产生太多中间对象问题而提供的类。
    它的实体容量会随着存放的字符串增加而自动增加。多线程数据量较大的时候使用、效率低 安全。
    实例:
    

 

  StringBuilder类:

       StringBuilder和StringBuffer之间的最大不同在于StringBuilder的方法不是线程安全的(不能同步访问)

    StringBuilder相较于StringBuffer有速度优势,所以多数情况下建议使用 StringBuilder 类。

    实例:

    Java常用类_构造器_33