JAVA入门笔记~基础知识day09

API简介(2)

1. Date日期类

  • 代表了当前系统的当前此刻日期信息对象。

  • 需要导入 java.util.Date 包

  • 常用构造器

    public Date()
    
    public Date(long time)
    
  • 方法

    long time = d.getTime();
    - 使用时间毫秒值返回从1970-01-01 00:00:00走到此刻的总的时间毫秒值
    
  • Java记录时间的两种方式

    • 可以直接用Date日期类对象记录:Date d = new Date();
    • 可以直接使用时间毫秒值:从1970-01-01 00:00:00走到此刻的总的时间毫秒值

2. DateFormat日期格式化

  • 作用

    • 可以把日期对象或者时间毫秒值转换成我们喜欢的字符串时间格式。
    • 也可以把字符串时间解析成日期对象。
  • 需要导入 java.text 包,该类是抽象类,无法直接使用,需要用它的子类: SimpleDateFormat(简单日期格式化对象)

  • 构造器

    public SimpleDateFormat(String pattern(定制日期格式));
    
  • 方法

    public String format(Date d):把日期对象转换成格式化的字符串时间返回
    
    public String format(Object time):把时间毫秒值转换成格式化的字符串时间返回
    
    public Date parse(String time):把字符串的时间解析成日期对象
    

3. Calendar日历类

  • Calendar代表的是当前系统此刻时间对应的日历对象。是一个抽象类。

  • Calendar创建日历对象的方式

    public static Calendar getInstance():直接返回一个日期对象。
    
  • 方法

    public int get(int field):根据参数取日期信息
    
    public Date getTime() : 拿日期的此刻日期对象
    
    public long getTimeInMillis() : 拿此刻时间毫秒值
    
    public void add(int field, int amount):让日历中的某个信息多走一个值
    

4. System系统类

  • System代表了当前系统。
  • 方法
    public static long currentTimeMillis():获取系统当前此刻的时间毫秒值!
    
    public static void exit(int status):终止当前正在运行的 Java 虚拟机(0代表正常结束,非0代表异常结束)
    
    public static void arraycopy(Object src  , int srcPos ,Object dest, int destPos, int length):数组拷贝,数组复制。
    

5. BigDecimal类

  • BigDecimal通常可以用于较大数据的运算,尤其适合做double类型数据的运算,可以避免数据运算失真的问题。

  • 方法

    public BigDecimal add(BigDecimal value); 加法
    
    public BigDecimal subtract(BigDecimal value); 减法
    
    public BigDecimal multiply(BigDecimal value); 乘法
    
    public BigDecimal divide(BigDecimal value); 除法
    
    public double doubleValue():把大数据转换回double类型。
    
  • 注意

    • 创建大数据对象建议用:

      BigDecimal a1 = BigDecimal.valueOf(a);(**不要new对象**)
      
  • 2.大数据对象可以保证精确运算,运算完毕以后还是要回到double类型的。

6. StringBuilder和StringBuffer

  • builder为线程不安全,性能好. buffer为线程安全,性能差. 其余用法完全一致

  • 很适合做字符串的拼接操作,性能好,代码优雅!建议使用!

  • 方法

    .append();  可以链式拼接
    
    .insert(offset: , str: ); 指定位置插入内容
    
    .delete(index, index); 删除指定区间字符,包前不包后
    
    .deleteCharAt(index); 根据索引值删除字符
    
    .reverse(); 内容反转
    

7. 包装类

  • 是基本数据类型的包装
  • 基本数据类型 ==> 包装类
    byte ==> Byte
    short ==> Short
    int ==> Integer(特殊)
    long ==> Long
    float ==> Float
    double ==> Double
    char ==> Character(特殊)
    boolean ==> Boolean
  • 把字符串类型的数字转化成对应的基本数据类型的值
    • 包装类.valueOf("字符串数字"):建议方法

泛型

  • 概述

    • 泛型:其实就是一个标签: <数据类型>
    • 泛型的作用:可以约束在编译阶段只能操作某种数据类型
    • 注意:泛型只能约束编译阶段。
  • 使用泛型的优势

    • 如果不使用泛型,在运行阶段做类型转换的时候,可能出现类型转换异常!
    • 加入了泛型以后,类型在编译阶段就确定了,之后就永远不会出现类型转换异常。
  • 定义泛型类

    • 泛型类的概念:使用了泛型的类就是泛型类。

    • 格式

      修饰符 class 类名称<泛型变量>{
      }
      
      泛型变量: 用于接收真实的数据类型
      
      规范取名: E,T,K,V
      
  • 定义泛型方法

    • 泛型方法可以实现功能的扩展性,可以做通用技术功能。

    • 格式

      修饰符 <泛型变量> 返回值类型 方法名称(形参列表){
      }
      
  • 定义泛型接口

    • 泛型接口:使用了泛型的接口就是泛型接口。

    • 格式

      修饰符 interface 接口名<泛型变量>{
      }
      
  • 泛型通配符

    • 通配符(?) 可以代表一切类型,用在使用泛型的使用。

    • E , T , K , V也可以代表一切类型,但是它是用在定义泛型的时候!

    • 泛型的上下限

      // 上限
      ? extends Car  ( ?必须是继承了Car或者Car本身)
          
      // 下限
      ? super Car ( ?必须是Car的父类,或者Car本身)
      

Collection集合

  • 是Java中集合的代表类,所有单列集合的祖宗类

  • Collection(接口) 体系及特点

    • Set(接口): 添加的元素是 无序 不重复 无索引
      • HashSet(实现类): 添加的元素是 无序 不重复 无索引
        • LinkedHashSet(实现类): 添加的元素是 有序 不重复 无索引
    • List(接口): 添加的元素是 有序 可重复 有索引
      • LinkedList(实现类): 添加的元素是 有序 可重复 有索引
      • ArrayList(实现类): 添加的元素是 有序 可重复 有索引
  • Collection的功能是一切集合都可以直接使用的

  • 常用API

    public boolean add(E e) : 把给定的对象添加到当前集合中 。
    
    public void clear() :清空集合中所有的元素。
    
    public boolean remove(E e) : 把给定的对象在当前集合中删除。
    
    public boolean contains(Object obj) : 判断当前集合中是否包含给定的对象。
    
    public boolean isEmpty() : 判断当前集合是否为空。
    
    public int size() : 返回集合中元素的个数。
    
    public Object[] toArray() : 把集合中的元素,存储到数组中
    

你可能感兴趣的:(JAVA入门笔记~基础知识day09)