• 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 第二部分完结

  • 相关阅读:
    记一次生产问题的排查,让我领略了算法的重要性
    <三>ASP.NETCore 依赖注入
    <一>EFCORE
    <四>ASP.NETCORE Session和cache
    <一>ASP.NET Core 管道
    <二>asp.netcore 配置文件与日志
    OData的初步认识 ZHK的博客 博客园
    C# 线程数据槽,ThreadStatic,ThreadLocal
    [转]redis3.0 cluster功能介绍
    ASP.NET Core 依赖注入(DI)
  • 原文地址:https://www.cnblogs.com/_Moliao/p/12460099.html
Copyright © 2020-2023  润新知