05.常用 API 第二部分

一、Object 类

  • 是类层次结构的根 (父) 类。
  • String  toString ()
    • 返回该对象的字符串表示,其实该字符串内容就是对象的类型 + @ + 内存地址值。
      • 由于 toString 方法返回的结果是内存地址,而在开发中,经常需要按照对象的属性得到相应的字符串表现形式,因此也需要重写它。
  • boolean  equals ( Object  anthoerObject)
    • 判断某个对象是否与此对象 "相等"
      • 这里的 "相等" 有默认和自定义两种方式。
        • 默认地址比较
          • 如果没有覆盖重写 equals 方法,那么 Object 类中默认进行==运算符的对象地址比较,只要不是同一个对象,结果必然为 false。
        • 对象内容比较
          • 如果希望进行对象的内容比较,即所有或指定的部分成员变量相同就判定两个对象相同,则可以覆盖重写 equals 方法。  
  • Objects 类
    • 在 JDK7 添加了一个 Objects 工具类,它提供了一些方法来操作对象,它由一些静态的实用方法组成,这些方法是 null-save(空指针安全的)或 null-tolerant(容忍空指针的),用于计算对象的 hashcode、返回对象的字符串表示形式、比较两个对象。
    • 在比较两个对象的时候,Object 的 equals 方法容易抛出空指针异常,而 Objects 类中的 equals 方法就优化了这个问题。方法如下
      • static  boolean  equals (Object  a ,Object  b)
        • 源码
          • public  static  boolean  equals(Object  a, Object  b) { 
            • return  (a  ==  b) || (a ! = null  &&  a.equals( b ));  
          • }

二、日期时间类

  • Date 类
    • 表示特定的瞬间,精确到毫秒。
    • 构造方法
      • Date()
        • 获取当前系统的日期和时间。
      • Date(long  date)
        • 传递毫秒值,把毫秒值转换为 Date 日期。
          • 由于我们处于东八区,所以我们的基准时间为1970年1月1日8时0分0秒。
    • 成员方法
      • long  getTime()
        • 把日期对象转换成对应的时间毫秒值。
  • DateFormat 类
    • 日期/时间格式化子类的抽象类,我们通过这个类可以帮我们完成日期和文本之间的转换,也就是可以在 Date 对象与 String 对象之间进行来回转换。
      • 格式化:按照指定的格式,从 Date 对象转换为 String 对象。
      • 解析:按照指定的格式,从 String 对象转换为 Date 对象。
    • DateFormat 为抽象类,不能直接使用,经常使用它的子类:SimpleDateFormat
    • SimpleDateFormat
      • 这个类需要一个模式(格式)来指定格式化或解析的标准。
        • 构造方法
          • SimpleDateFormat(String  pattern)
            • 参数 pattern 是一个字符串,代表日期时间的自定义格式。
              • y:年
              • M:月
              • d:日
              • H:时
              • m:分
              • s:秒
            • 举例
              • "yyyy-MM-dd    HH:mm:ss"
      • 成员方法
        • String  format(Date  date)
          • 将 Date 对象格式化为字符串。
        • Date  parse(String  str)
          • 将字符串解析为 Date 对象。
  • Calendar 类
    • 日历类,替换掉了许多 Date 的方法,该类将所有可能用到的时间信息封装为静态成员变量,方便获取。日历类就是方便获取各个时间属性的。
    • 是抽象类。
    • 如何创建
      • 通过静态方法创建,返回子类对象(多态)。
        • public  static  Calendar  getInstance()
          • 使用默认时区和语言环境获得一个日历。
    • 成员方法
      • int  get(int  field)
        • 返回给定日历字段的值。
      • void  set(int  field, int  value)
        • 将给定的日历字段设置为给定值。
      • abstract  void  add(int  field, int  amount)
        • 根据日历的规则,为给定的日历字段添加或减去指定的时间量。
          • int field:传递指定的日历字段(YEAR,MONTH...)
          • int amount:增加/减少指定的值
            • 正数:增加
            • 负数:减少
      • Date  getTime()
        • 返回一个表示此 Calendar 时间值(从历元到现在的毫秒偏移量)的 Date 对象。
    • 成员方法的参数
      • int field:日历类的字段,可以使用 Calendar 类的静态成员变量获取。
        • public static final int YEAR = 1;         年
        • public static final int MONTH = 2;        月
        • public static final int DATE = 5;        月中的某一天
        • public static final int DAY_OF_MONTH = 5;       月中的某一天
        • public static final int HOUR = 10;        时
        • public static final int MINUTE = 12;        分
        • public static final int SECOND = 13;        秒

三、System 类

  • 类中提供了大量的静态方法,可以获取与系统相关的信息或系统级操作。
    • 静态方法
      • public  static  long  currentTimeMillis()
        • 返回以毫秒为单位的当前时间。
      • public  static  void  arraycopy(Object  src, int  srcPos, Object  dest, int  destPos, int  length) 
        • 将数组中指定的数据拷贝到另一个数组中。
        • src - 源数组。
        • srcPos - 源数组中的起始位置(起始索引)。
        • dest - 目标数组。
        • destPos - 目标数据中的起始位置。
        • length - 要复制的数组元素的数量。

四、StringBuilder 类

  • 可变字符序列,它是一个类似于 String 的字符串缓冲区,通过某些方法调用可以改变该序列的长度和内容。
  • 是一个容器,容器中可以装很多字符串。并且能够对其中的字符串进行各种操作。
  • 进行字符串拼接时,直接在数组中加入新内容。StringBuilder会自动维护数组的扩容。
  • 线程不安全。
  • 构造方法
    • StringBuilder()
      • 构造一个不带任何字符的字符串生成器,其初始容量为 16 个字符。
    • StringBuilder(String  str) 
      • 构造一个字符串生成器,并初始化为指定的字符串内容。
  • 成员方法
    • StringBuilder append(...)
      • 添加任意类型数据的字符串形式,并返回当前对象自身。
        • 返回的是 this,调用方法的对象。
        • 使用 append 方法无需接收返回值。
          • 链式编程:方法返回值是一个对象,可以继续调用方法
    • String  toString()
      • 将当前 StringBuilder 对象转换为 String 对象。
        • 通过此方法和StringBuilder(String  str)构造方法实现 StringBuilder 和 String 间的转换。

五、包装类

  • Java提供了两个类型系统,基本类型与引用类型,使用基本类型在于效率,然而很多情况,会创建对象使用,因为对象可以做更多的功能,如果想要我们的基本类型像对象一样操作,就可以使用基本类型对应的包装类。
  • 装箱:从基本类型转换为对应的包装类对象。
  • 拆箱:从包装类对象转换为对应的基本类型。
  • 从Java 5(JDK 1.5)开始,基本类型与包装类的装箱、拆箱动作可以自动完成。
  • 基本类型与字符串类型之间的相互转换
    • 基本类型 -> 字符串( String )
      • 基本类型的值 + "" ,最简单的方法(工作中常用)。
      • 包装类的静态方法 toString(参数),注意不是Object类的 toString()  重载。
        • static String toString(int i)
          • 返回一个表示指定整数的 String 对象。
      • String 类的静态方法 valueOf(参数)。
        • static  String  valueOf(int i)
          • 返回 int 参数的字符串表示形式。 
    • 字符串( String ) -> 基本类型
      • 使用包装类的静态方法 parseXXX("字符串")。
        • Integer 类: static  int  parseInt(String  s)
        • Double 类: static  double  parseDouble(String  s)

六、05.常用 API 第二部分完结

原文地址:https://www.cnblogs.com/_Moliao/p/12460099.html