Skip to content

第七章 常用类库 v1.0 ​

第一部分 包与类库 ​

JavaAPI网页文档:链接

一、包 ​

1.相关概念 ​

  1. 包是用来分门别类的管理各种不同类的,类似于文件夹、建包利于程序的管理和维护
  2. 相同包下的类可以直接访问,不同包下的类必须导包,才可以使用

2.语法格式 ​

java
//建包(声明包)
package 域名倒写.技术名称;  //包名全小写,必须在第一行
package com.项目名称.类别;  //一般为三级包
//导入包
import 包名.类名;
//静态导入,用静态方法时无需通过 类名.methodName 访问
import static 包名.类名.*;

二、类库 ​

Java应用程序接口(Application Programming Interface,API),是系统提供的已实现的标准类的集合

第二部分 基础类库(java.lang) ​

包括前面的第三章中包装类型,第四章中Object类与Objects类

一、System类 ​

常用方法

二、Math类 ​

常用方法

三、大小数类型(BigDecimal) ​

大小数类型(BigDecimal)和BigInteger(大整数类型)与Double等数值类型一样都继承自Number类

作用:用于解决浮点型运算精度失真的问题

创建BigDecimal对象:BigDecimal b=BigDecimal.valueOf(value);

第三部分 工具类 ​

一、正则匹配(java.util.regex) ​

1.Pattern类 ​

Pattern对象是一个正则表达式的编译表示,其没有公共的构造方法

Pattern对象的实例化:Pattern <对象名> = Pattern.complie(<Pattern>);

java
Pattern.matches(String regex, CharSequence input);  //与字符串对象matches类似

2.Matcher类 ​

Matcher对象是对输入字符串进行解释和匹配操作的引擎

Matcher对象的实例化:Matcher <对象名> = pattern.matcher(<input>); //<input>为待匹配字符串

java
matcher.lookingAt();  //从区域开头开始的输入序列与该模式匹配
matcher.find([int start]);  //尝试[重置从start开始]查找与该模式匹配的输入序列的下一个子序列。
//替换
matcher.replaceAll(String s);  //替换模式与给定替换字符串相匹配的输入序列的每个子序列
matcher.replaceFirst(String s);  //替换模式与给定替换字符串相匹配的输入序列的第一个子序列

3.常用正则表达式语法 ​

a.表示匹配方式的语法 ​
b.表示匹配的字符的语法 ​

二、随机数(java.util.Random) ​

详见官方文档

三、时间与日期 ​

1.日期类(java.util.Date) ​

Date类对象在Java中代表的是当前所在系统的此刻日期时间,常用于处理时间与获取时间信息。

构造方法:

常用方法:

2.时间格式转换(java.text.SimpleDateFormat) ​

SimpleDateFormat类对象用于以规定格式转换Date类型

构造方法:SimpleDateFormat sdf=new SimpleDateFormat(<格式化字符串>);

常用格式化字符串形式:"yyyy年MM月dd日 HH:mm:ss" //2000年01月01日 00:00:00(更多详见API文档)

常用方法:

3.日历类(java.util.Calendar) ​

Calendar类对象在Java中代表的是当前系统此刻日期对应的日历对象,是一个抽象类,不能直接创建对象。

构造日期类的方法:Calendar rightNow = Calendar.getInstance(); //通过方法创建子类对象

常用方法:

注:field为Calendar对象的属性,如:Calendar.YEAR|MONTH|...,可以通过toString()方法查看

4.JDK8新增时间API(java.time) ​

特点:java.time中所有类均生成不可变对象,它们是线程安全的,不提供公共构造函数,需要特殊方法实例化

java
LocalDateTime localDateTime = LocalDateTime.now();  // 以当前时间创建LocalDateTime对象
LocalTime sampleDate = LocalTime.of(1,0);  // 创建时间为01:00的LocalDate对象,详见API文档
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy年MM月dd日 HH:mm:ss");
String s = localDateTime.format(dtf);  // 进行格式化
//直接格式化
LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy年MM月dd日 HH:mm:ss"));

常用类:

  • java.time.LocalDate:不包含具体时间的日期。
  • java.time.LocalTime:不包含具体日期的时间。
  • java.time.LocalDateTime:包含了日期及时间。
  • java.time.Instant:代表的是时间戳。
  • java.time.DateTimeFormatter:用于做时间的格式化和解析的
  • java.time.Duration:用于计算两个“时间”间隔
  • java.time.Period:用于计算两个“日期”间隔

四、数组工具(java.util.Arrays) ​

1.处理数组的常用方法 ​

2.自定义排序数组 ​

实现方法:使用java.utils.Comparator比较器对象(只支持引用类型的排序)

java
Arrays.sort(array, new Comparator<泛型>() {
    @Override
    public int compare(<泛型> o1, <泛型> o2) {
        return 0;  //(默认升序)0为相等,负值为o1<o2,正值为o1>o2
    }
});

​

​