第七章 常用类库 v1.0
第一部分 包与类库
JavaAPI网页文档:链接
一、包
1.相关概念
- 包是用来分门别类的管理各种不同类的,类似于文件夹、建包利于程序的管理和维护
- 相同包下的类可以直接访问,不同包下的类必须导包,才可以使用
2.语法格式
//建包(声明包)
package 域名倒写.技术名称; //包名全小写,必须在第一行
package com.项目名称.类别; //一般为三级包
//导入包
import 包名.类名;
//静态导入,用静态方法时无需通过 类名.methodName 访问
import static 包名.类名.*;二、类库
Java应用程序接口(Application Programming Interface,API),是系统提供的已实现的标准类的集合
第二部分 基础类库(java.lang)
一、System类
常用方法
二、Math类
常用方法
三、大小数类型(BigDecimal)
大小数类型(BigDecimal)和BigInteger(大整数类型)与Double等数值类型一样都继承自Number类
作用:用于解决浮点型运算精度失真的问题
创建BigDecimal对象:BigDecimal b=BigDecimal.valueOf(value);
第三部分 工具类
一、正则匹配(java.util.regex)
1.Pattern类
Pattern对象是一个正则表达式的编译表示,其没有公共的构造方法
Pattern对象的实例化:Pattern <对象名> = Pattern.complie(<Pattern>);
Pattern.matches(String regex, CharSequence input); //与字符串对象matches类似2.Matcher类
Matcher对象是对输入字符串进行解释和匹配操作的引擎
Matcher对象的实例化:Matcher <对象名> = pattern.matcher(<input>); //<input>为待匹配字符串
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中所有类均生成不可变对象,它们是线程安全的,不提供公共构造函数,需要特殊方法实例化
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比较器对象(只支持引用类型的排序)
Arrays.sort(array, new Comparator<泛型>() {
@Override
public int compare(<泛型> o1, <泛型> o2) {
return 0; //(默认升序)0为相等,负值为o1<o2,正值为o1>o2
}
});