文章目录
Object
所有类的直接或间接的父类,也就是说 Java 的所有类都继承了 Object,可以使用 Object 的方法
方法 | 返回值类型 | 说明 |
---|---|---|
clone() | Object | 创建一个该对象的拷贝 |
toString() | String | 返回对象的字符串表示形式(默认为地址值) |
hashDode() | int | 获取对象的 hash 值 |
equals(Object obj) | boolean | 比较两个对象是否相同 |
wait() | void | 使当前线程进入等待状态,直到其他线程调用此对象的 notify() 方法或 notifyAll() 方法 |
notify() | void | 唤醒在该对象上等待的随机一个线程 |
notifyAll() | void | 唤醒在该对象上等待的所有线程 |
(static) Objects
对Object类的补充和添加,静态类,可直接 Objects.方法 调用
方法 | 返回值类型 | 说明 |
---|---|---|
toString(Object obj) | String | 获取 obj 的 toString()方法 的返回值 |
toString(Object obj, String str) | String | 获取 obj 的 toString()方法 的返回值,若为 null 则返回 str |
isNull(Object obj) | boolean | 判断 obj 是否为null |
nonNull(Object obj) | boolean | 判断 obj 是否不为null |
字符串: String
字符串类型,在 Java 中字符串属于对象,Java 提供了 String 类来创建和操作字符串
常用方法:
方法 | 返回值类型 | 说明 |
---|---|---|
String() | 构造方法 | 一般不用,因为 String 可以当作基础数据类型直接赋值 |
String(char[] chs, int i1, int i2) | 构造方法 | 从 chs字符数组 的第 i1索引 开始获取 i2个 |
String(byte[] bys, int i1, int i2) | 构造方法 | 从 bys字节数组 的第 i1索引 开始获取 i2个 |
substring(int i1, int i2) | String | 截取字符串 [i1, i2 - 1] |
replace(String str1,String str2) | String | 将字符串中的 str1 替换成 str2 |
replaceAll(String str1,String str2) | String | 将字符串中符合 str1正则表达式 的字符替换成 str2 |
split(String str) | String[] | 以 str 切割字符串 |
charAt(int i) | char | 获取 i 索引的字符 |
toCharArray() | char[] | 字符串转字符数组 |
getBytes(String str) | byte[] | 将字符串转换成指定编码的字节数组(str 为 “GBK”, “UTF-8”, 等) |
length() | int | 获取字符串长度,即字符个数 |
compareTo(String str) | int | 按字典顺序比较两个字符串(调用者的ASCII码值 - str的ASCII码值) |
equalsIgnoreCase(String str) | boolean | 忽略字母大小写比较两个字符串是否相同 |
startsWith(String str) | boolean | 判断是否以 str 开头 |
endWith(String str) | boolean | 判断是否以 str 结尾 |
isEmpty() | boolean | 判断是否为空 |
字符串运算: StringBuilder
当需要对字符串进行修改时,尽量使用 StringBuilder类 ,其对象能够被多次的修改,并且不产生新的未使用对象
方法 | 返回值类型 | 说明 |
---|---|---|
StringBuilder(String str) | 构造方法 | 以指定的字符串创建StringBuilder对象 |
append(String str) | StringBuilder | 追加 str |
insert(int i,String str) | StringBuilder | 在 i索引 插入 str |
delete(int i1,int i2) | StringBuilder | 删除[i1, i2-1]范围内的元素 |
replace(int i1,int i2,String str) | StringBuilder | 将[i1, i2 - 1]范围内的元素替换成指定字符串 |
reverse() | StringBuilder | 反转字符串 |
toString() | String | 将StringBuilder转换成String |
length() | int | 获取字符串长度 |
键盘输入: Scanner
获取用户的输入的类
方法 | 返回值类型 | 说明 |
---|---|---|
Scanner(System.in) | 构造方法 | 固定写法 |
next() | String | 获取用户输入的字符串 |
nextLine() | String | 获取用户输入的一行字符串 |
nextInt() | int | 获取用户输入的整数 |
随机数: Random
用于生成随机数的类
方法 | 返回值类型 | 说明 |
---|---|---|
Random() | 构造方法 | 以当前时间毫秒值作为种子,创建Random对象 |
nextInt(int i) | int | 产生1个[0, i - 1]范围内的随机数 |
时间: Date
日期和时间类
毫秒值:1970年1月1日00:00:00(英国格林威治) 到 Date对象 所表达的时间所经过的毫秒数
方法 | 返回值类型 | 说明 |
---|---|---|
Date() | 构造方法 | 以当前时间的毫秒值创建Date对象 |
Date(long l) | 构造方法 | 以指定时间的毫秒值创建Date对象 |
getTime() | long | 获取Date对象的毫秒值 |
setTime(long) | void | 设置Date对象的毫秒值 |
SimpleDateFormat
时间格式封装类
yyyy:年 MM:月 dd:日 hh:时(12小时制) HH:时(24小时制) mm:分 ss:秒 SSS:毫秒 aa:上下午
方法 | 返回值类型 | 说明 |
---|---|---|
SimpleDateFormat() | 构造方法 | 以默认格式创建对象(yy-MM-dd aahh:mm) |
SimpleDateFormat(String str) | 构造方法 | 以指定格式创建对象 str: yyyy-MM-dd hh:mm:ss -> 年年年年-月月-日日 时时:分分:秒秒 |
format(Date date) | String | 将Date对象格式化 |
parse(String str) | Date | 将 str字符串 转换成Date格式(str字符串 必须和 SimpleDateFormat对象 所封装的格式相同) |
时间(新): LocalDateTime
JDK8之后新的时间类
可以分为 / LocalDate(只包含年月日) / LocalTime(只包含时分秒)
方法 | 返回值类型 | 说明 |
---|---|---|
LocalDateTime.now() | 构造方法 | 默认时间,将当前计算机的时间封装成一个对象 |
LocalDateTime.of(年, 月, 日, 时, 分, 秒) | 构造方法 | 直接将输入时间封装成一个对象 |
LocalDateTime.parse(String str, DateTimeFormatter dtf) | 构造方法 | 以 dtf格式 解析str时间 |
toLocalDate() | LocalDate | 转换成一个LocalDate对象 |
toLocalTime() | LocalTime | 转换成一个LocalTime对象 |
plusTears(long l) | LocalDateTime | 加 l 年 |
plusMonths(long l) | LocalDateTime | 加 l 月 / plusDays日 / plusHours时 / plusMinutes分 / plusSeconds秒 / piusWeeks周 |
minusTears(long l) | LocalDateTime | 减 l 年 |
minusMonths(long l) | LocalDateTime | 减 l 月 / minusDays日 / minusHours时 / minusMinutes分 / minusSeconds秒 / minusWeeks周 |
getYear() | int | 获取对象中的年 |
getMonthValue() | int | 获取对象中的月 / getDayOfMonth日 / getDayOfYear年中的第几天 / getHour时 / getMinute分 / getSecond秒 |
getDayOfWeek() | DayOfWeek | 获取星期 返回枚举 |
withYear(int i) | LocalDateTime | 修改对象中的年为i 返回LocalDateTime |
withMonth(int i) | LocalDateTime | 修改对象中的月为i / withDayOfMonth日 / withDayOfYear年中的第几天 / withHour时 / withMinute分 / withSecond秒 |
format(DateTimeFormatter dtf) | String | 获取 dtf格式 的字符串时间 |
DateTimeFormatter
时间格式
方法 | 返回值类型 | 说明 |
---|---|---|
DateTimeFormatter.ofPattern(String str) | yyyy-MM-dd hh:mm:ss -> 年年年年-月月-日日 时时:分分:秒秒 封装成一个时间格式的对象 |
Period
时间间隔类(年月日)
方法 | 返回值类型 | 说明 |
---|---|---|
Period.between(LocalDate开始时间,结束时间) | 构造方法 | 将两个时间的间隔封装成一个period对象 |
getYears() | int | 获取间隔年数 |
getMonths() | int | 获取间隔月数差 /getDays天 (数字差,即去年7月和今年6月差1) |
toTotalMonths() | int | 获取间隔总月数 |
Duration
时间间隔类(时分秒毫秒纳秒)
方法 | 返回值类型 | 说明 |
---|---|---|
Duration.between(LocalDateTime开始时间,结束时间) | 构造方法 | 将两个时间的间隔封装成一个Duration对象 |
toSeconds() | long | 获取间隔的秒 |
toMillis() | long | 获取间隔的毫秒 |
toNanos() | long | 获取间隔的纳秒 |
精确运算: BigDecimal
数据精确运算类
方法 | 返回值类型 | 说明 |
---|---|---|
BigDecimal(double d) | 构造方法 | 用double类型数据创建精确运算对象 |
BigDecimal(String str) | 构造方法 | 用String类型数据创建精确运算对象 |
add(BigDecimal b) | BigDecimal | 加 |
subtract(BigDecimal b) | BigDecimal | 减 |
multiply(BigDecimal b) | BigDecimal | 乘 |
divide(BigDecimal b, int i, BigDecimal枚举) | BigDecimal | 除 i:保留几位小数 BigDecimal枚举:舍入模式 BigDecimal.ROUND_UP:向上取整(包括负数) BigDecimal.ROUND_FLOOR:向下取整 BigDecimal.ROUND_HALF_UP:四舍五入 |
remainder(BigDecimal b) | BigDecimal | 取余 |
intValue() | int | 转换为int |
doubleValue() | double | 转换为double |
数学运算: (static) Math
用于执行基本数学运算的类
方法 | 返回值类型 | 说明 |
---|---|---|
abs(int i) | int | 获取绝对值 |
ceil(double d) | int | 向上取整 |
floor(double d) | int | 向下取整 |
round(float f) | int | 四舍五入 |
max(int i1,int i2) | int | 获取最大值 |
min(int i1, int i2) | int | 获取最小值 |
pow(double d1,double d2) | double | 获取d1 的 d2 次幂 |
random() | double | 获取[0.0,1.0]之间随机数(含头不含尾) |
sqrt(double d) | double | 算术平方根 |
数组操作: (static) Arrays
数组操作类
方法 | 返回值类型 | 说明 |
---|---|---|
toString(Object[] objs) | String | 将数组转为字符串 |
binarySearch(int[] is, int i) | int | 用二分法查找int数组中某个数的索引,不存在则返回-(应该插入的索引)-1 |
sort(int[] is) | void | 将int数组排序 |
stream(Object[] objs) | Stream | 获取数组操作流 |
系统: (static) System
一个与系统相关的类
方法 | 说明 |
---|---|
gc() | 运行垃圾回收机制(系统会自动在某个不确定的时间调用该方法) |
exit(int i) | 直接停止JVM虚拟机,并返回退出代码 i 0:正常退出 其他:异常退出 |
currentTimeMills() | 获取当前时间毫秒值 |
arrayCopy(Object[] objs1, int i1, Object[] objs2, int i2, int i3) | 数组拷贝 (objs1:拷贝谁, i1:起始索引, objs2:拷贝至谁, i2:起始索引, i3:拷贝几个) |