1. Collections 类
java.util.Collections
提供了集合框架的静态方法工具。
-
sort(List<T> list)
: 对列表进行排序。 -
reverse(List<?> list)
: 反转列表的顺序。 -
min(Collection<? extends T> coll)
: 返回集合中的最小元素。 -
max(Collection<? extends T> coll)
: 返回集合中的最大元素。 -
binarySearch(List<? extends T> list, T key)
: 在已排序的列表中进行二分搜索。 -
synchronizedList(List<T> list)
: 返回同步的列表。
2. Arrays 类
java.util.Arrays
提供了对数组操作的静态方法。
-
sort(int[] a)
: 对数组进行排序。 -
binarySearch(int[] a, int key)
: 在已排序的数组中进行二分搜索。 -
asList(T... a)
: 将数组转换为List
。 -
equals(int[] a, int[] a2)
: 比较两个数组是否相等。 -
fill(int[] a, int val)
: 用指定值填充数组。
3. Math 类
java.lang.Math
提供了各种数学运算方法。
-
abs(int a)
: 取绝对值。 -
sqrt(double a)
: 计算平方根。 -
pow(double a, double b)
: 计算幂次方。 -
max(int a, int b)
: 返回较大的数。 -
min(int a, int b)
: 返回较小的数。 -
random()
: 返回一个介于 0.0 和 1.0 之间的随机数。
4. String 类
java.lang.String
提供了许多字符串操作的方法。
-
length()
: 返回字符串的长度。 -
charAt(int index)
: 获取指定位置的字符。 -
substring(int beginIndex, int endIndex)
: 获取子字符串。 -
indexOf(String str)
: 返回子字符串的起始索引。 -
replace(CharSequence target, CharSequence replacement)
: 替换子字符串。 -
split(String regex)
: 按正则表达式拆分字符串。 -
toLowerCase()
,toUpperCase()
: 转换为小写或大写。
5. StringBuilder 和 StringBuffer 类
-
append(String str)
: 追加字符串,将给定的字符串添加到当前字符序列的末尾。 -
insert(int offset, String str)
: 在指定位置插入字符串,将给定的字符串插入到*当前字符序列中的指定位置。 -
delete(int start, int end)
: 删除子字符串,从当前字符序列中删除从start
到end
之间的字符(包括start
位置的字符,但不包括end
位置的字符)。 -
reverse()
: 反转字符串,将当前字符序列中的字符顺序颠倒。 -
replace(int start, int end, String str)
: 替换子字符串,将从start
到end
之间的字符(包括start
位置的字符,但不包括end
位置的字符)替换为给定的字符串str
。 -
substring(int start)
: 返回从指定位置开始到末尾的子字符串。 -
substring(int start, int end)
: 返回从start
开始到end
结束的子字符串(包括start
位置的字符,但不包括end
位置的字符)。 -
length()
: 返回当前字符序列的长度。 -
setLength(int newLength)
: 设置字符序列的长度。如果新长度小于当前长度,则该字符序列被截断;如果新长度大于当前长度,则字符序列末尾会填充空字符 (\0
)。 -
charAt(int index)
: 返回指定索引处的字符。 -
setCharAt(int index, char ch)
: 将指定索引处的字符设置为给定的字符ch
。 -
toString()
: 返回当前字符序列的字符串表示形式。 -
capacity()
: 返回当前字符序列的容量,即内部数组的总长度。 -
ensureCapacity(int minimumCapacity)
: 确保容量至少为指定的最小容量,如果当前容量小于该值,则增加容量。 -
trimToSize()
: 尝试减少存储此字符序列的数组的大小,使之刚好能够保存当前的字符序列。
6. Objects 类
java.util.Objects
提供了一些静态方法来操作对象,主要用于对象的比较、检查和哈希值生成。
-
equals(Object a, Object b)
: 比较两个对象是否相等。 -
hashCode(Object o)
: 返回对象的哈希值。 -
requireNonNull(T obj)
: 检查对象是否为null
。 -
toString(Object o)
: 返回对象的字符串表示。
7. Files 类
java.nio.file.Files
提供了许多操作文件的静态方法。
文件和目录操作
-
createFile(Path path)
: 创建一个新的文件(如果文件已存在则抛出异常)。 -
createDirectory(Path dir)
: 创建一个新的目录(如果目录已存在则抛出异常)。 -
createDirectories(Path dir)
: 创建一个新的目录及其所有不存在的父目录。 -
createTempFile(String prefix, String suffix, FileAttribute<?>... attrs)
: 创建一个新的临时文件。 -
createTempFile(Path dir, String prefix, String suffix, FileAttribute<?>... attrs)
: 在指定目录中创建一个新的临时文件。 -
createTempDirectory(String prefix, FileAttribute<?>... attrs)
: 创建一个新的临时目录。 -
createTempDirectory(Path dir, String prefix, FileAttribute<?>... attrs)
: 在指定目录中创建一个新的临时目录。 -
copy(Path source, Path target, CopyOption... options)
: 复制文件或目录。 -
move(Path source, Path target, CopyOption... options)
: 移动文件或目录。 -
delete(Path path)
: 删除文件或目录。 -
deleteIfExists(Path path)
: 如果文件或目录存在则删除。 -
exists(Path path, LinkOption... options)
: 检查文件是否存在。 -
notExists(Path path, LinkOption... options)
: 检查文件是否不存在。 -
isDirectory(Path path, LinkOption... options)
: 检查路径是否是目录。 -
isRegularFile(Path path, LinkOption... options)
: 检查路径是否是常规文件。 -
isSymbolicLink(Path path)
: 检查路径是否是符号链接。 -
isReadable(Path path)
: 检查文件是否可读。 -
isWritable(Path path)
: 检查文件是否可写。 -
isExecutable(Path path)
: 检查文件是否可执行。 -
isSameFile(Path path1, Path path2)
: 检查两个路径是否指向同一文件。 -
size(Path path)
: 返回文件大小。 -
getLastModifiedTime(Path path, LinkOption... options)
: 获取文件的最后修改时间。 -
setLastModifiedTime(Path path, FileTime time)
: 设置文件的最后修改时间。 -
getOwner(Path path, LinkOption... options)
: 获取文件的所有者。 -
setOwner(Path path, UserPrincipal owner)
: 设置文件的所有者。 -
getPosixFilePermissions(Path path, LinkOption... options)
: 获取文件的POSIX权限。 -
setPosixFilePermissions(Path path, Set<PosixFilePermission> perms)
: 设置文件的POSIX权限。 -
isHidden(Path path)
: 检查文件是否隐藏。 -
probesContentType(Path path)
: 获取文件的内容类型。
文件内容操作
-
newInputStream(Path path, OpenOption... options)
: 打开一个输入流以读取文件内容。 -
newOutputStream(Path path, OpenOption... options)
: 打开一个输出流以写入文件内容。 -
newBufferedReader(Path path, Charset cs)
: 创建一个新的BufferedReader
以读取文件内容。 -
newBufferedWriter(Path path, Charset cs, OpenOption... options)
: 创建一个新的BufferedWriter
以写入文件内容。 -
readAllBytes(Path path)
: 读取文件的所有字节。 -
readAllLines(Path path, Charset cs)
: 读取文件的所有行。 -
write(Path path, byte[] bytes, OpenOption... options)
: 将字节数组写入文件。 -
write(Path path, Iterable<? extends CharSequence> lines, Charset cs, OpenOption... options)
: 将文本行写入文件。 -
readAttributes(Path path, String attributes, LinkOption... options)
: 读取文件的基本属性。 -
getAttribute(Path path, String attribute, LinkOption... options)
: 获取文件的特定属性值。 -
setAttribute(Path path, String attribute, Object value, LinkOption... options)
: 设置文件的特定属性值。
文件遍历
-
list(Path dir)
: 返回目录的文件列表的流。 -
walk(Path start, FileVisitOption... options)
: 深度优先遍历文件树。 -
find(Path start, int maxDepth, BiPredicate<Path, BasicFileAttributes> matcher, FileVisitOption... options)
: 按条件查找文件。 -
walkFileTree(Path start, FileVisitor<? super Path> visitor)
: 遍历文件树。 -
walkFileTree(Path start, Set<FileVisitOption> options, int maxDepth, FileVisitor<? super Path> visitor)
: 遍历文件树。
文件内容比较
-
mismatch(Path path1, Path path2)
: 比较两个文件的内容,返回第一个不同的字节位置。
8. Time API
java.time
包提供了现代化的日期和时间 API。
-
LocalDate.now()
: 获取当前日期。 -
LocalTime.now()
: 获取当前时间。 -
LocalDateTime.now()
: 获取当前日期和时间。 -
Duration.between(Temporal startInclusive, Temporal endExclusive)
: 计算时间之间的持续时间。 -
Period.between(LocalDate startDate, LocalDate endDate)
: 计算日期之间的周期。
9. UUID 类
java.util.UUID
用于生成唯一标识符。
-
randomUUID()
: 生成随机 UUID。
10. 正则表达式
java.util.regex
包中的类用于处理正则表达式。
-
Pattern.compile(String regex)
: 编译正则表达式。 -
Matcher.find()
: 查找下一个匹配项。 -
Matcher.matches()
: 尝试整个字符串与正则表达式匹配。
11. Path 和 Paths 类
java.nio.file.Path
表示文件路径,Paths
类用于创建 Path
实例。
-
Paths.get(String first, String... more)
: 创建Path
对象。 -
resolve(Path other)
: 解析路径。 -
toAbsolutePath()
: 转换为绝对路径。 -
getParent()
: 获取父目录。
12. System 类
java.lang.System
提供了访问系统属性、环境变量和其他实用方法。
-
currentTimeMillis()
: 获取当前时间的毫秒数。 -
arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
: 数组复制。 -
getProperty(String key)
: 获取系统属性。 -
getenv(String name)
: 获取环境变量。 -
gc()
: 提醒垃圾回收器运行。
13. Runtime 类
java.lang.Runtime
提供与应用程序运行环境的接口。
-
getRuntime()
: 返回当前运行时环境的引用。 -
exec(String command)
: 执行命令。 -
availableProcessors()
: 获取可用处理器数量。 -
maxMemory()
: 返回 Java 虚拟机试图使用的最大内存量。
14. TimeUnit 枚举
java.util.concurrent.TimeUnit
枚举提供常用的时间单位。
-
SECONDS.sleep(long timeout)
: 休眠指定时间(以秒为单位)。 -
MILLISECONDS.toSeconds(long duration)
: 将毫秒转换为秒。
15. Properties 类
java.util.Properties
类表示一组持久的属性,通常用于配置文件。
-
load(InputStream inStream)
: 从输入流中加载属性。 -
store(OutputStream out, String comments)
: 将属性列表保存到输出流中。 -
getProperty(String key)
: 获取属性值。 -
setProperty(String key, String value)
: 设置属性值。
16. Optional 类
java.util.Optional
是一个容器类,代表可能含有或不含有非空值。
-
of(T value)
: 创建一个包含值的Optional
。 -
empty()
: 创建一个空的Optional
。 -
isPresent()
: 判断是否包含值。 -
ifPresent(Consumer<? super T> consumer)
: 如果值存在则执行给定的代码。 -
orElse(T other)
: 值存在则返回值,否则返回默认值。
17. Streams API
java.util.stream
包中的类用于处理数据流。
-
filter(Predicate<? super T> predicate)
: 筛选流中的元素。 -
map(Function<? super T, ? extends R> mapper)
: 转换流中的元素。 -
collect(Collector<? super T, A, R> collector)
: 收集流中的元素。 -
forEach(Consumer<? super T> action)
: 对每个元素执行操作。
18. Base64 类
java.util.Base64
提供了 Base64 编码和解码功能。
-
getEncoder()
: 获取 Base64 编码器。 -
getDecoder()
: 获取 Base64 解码器。 -
encode(byte[] src)
: 将字节数组编码为 Base64 字符串。 -
decode(String src)
: 将 Base64 字符串解码为字节数组。
19. ExecutorService 接口
java.util.concurrent.ExecutorService
是一个框架,用于管理线程池和并发任务。
-
submit(Callable<T> task)
: 提交任务并返回Future
。 -
shutdown()
: 启动有序关闭,不再接受新任务。 -
awaitTermination(long timeout, TimeUnit unit)
: 等待所有任务完成。
20. CompletableFuture 类
java.util.concurrent.CompletableFuture
提供了异步编程的能力。
-
supplyAsync(Supplier<U> supplier)
: 异步执行任务。 -
thenApply(Function<? super T,? extends U> fn)
: 异步任务完成后应用函数。 -
thenAccept(Consumer<? super T> action)
: 异步任务完成后执行操作。 -
join()
: 阻塞等待异步任务完成并返回结果。
21. Locale 类
java.util.Locale
表示特定的地理、政治或文化区域。
-
getDefault()
: 获取默认的Locale
。 -
getCountry()
: 获取国家代码。 -
getLanguage()
: 获取语言代码。 -
getDisplayName()
: 获取Locale
的显示名称。
22. UUID 类
java.util.UUID
提供生成唯一标识符的功能。
-
randomUUID()
: 生成随机 UUID。 -
fromString(String name)
: 根据指定字符串生成 UUID。 -
toString()
: 获取 UUID 的字符串表示。
23. DateTimeFormatter 类
java.time.format.DateTimeFormatter
用于格式化和解析日期时间对象。
-
ofPattern(String pattern)
: 创建一个格式化器。 -
format(TemporalAccessor temporal)
: 格式化日期时间。 -
parse(CharSequence text)
: 解析日期时间字符串。
24. Instant 类
java.time.Instant
表示时间轴上的一个瞬时点。
-
now()
: 获取当前时间的Instant
。 -
ofEpochMilli(long epochMilli)
: 从纪元毫秒数创建Instant
。 -
plus(Duration duration)
: 增加持续时间。 -
minus(Duration duration)
: 减少持续时间。
25.BigDecimal
构造方法
-
BigDecimal(String val)
: 通过字符串表示的数值创建BigDecimal
对象。 -
BigDecimal(double val)
: 通过double
类型的数值创建BigDecimal
对象(可能存在精度问题)。 -
BigDecimal(int val)
: 通过整数类型的数值创建BigDecimal
对象。 -
BigDecimal(long val)
: 通过长整数类型的数值创建BigDecimal
对象。 -
BigDecimal(BigInteger val)
: 通过BigInteger
类型的数值创建BigDecimal
对象。 -
BigDecimal(BigInteger unscaledVal, int scale)
: 通过BigInteger
类型的数值和一个标度值创建BigDecimal
对象。
基本算术运算
-
add(BigDecimal augend)
: 加法,返回当前数值与指定数值的和。 -
subtract(BigDecimal subtrahend)
: 减法,返回当前数值减去指定数值的差。 -
multiply(BigDecimal multiplicand)
: 乘法,返回当前数值与指定数值的积。 -
divide(BigDecimal divisor)
: 除法,返回当前数值除以指定数值的商。 -
divide(BigDecimal divisor, int scale, RoundingMode roundingMode)
: 带舍入模式和精度的除法。 -
divide(BigDecimal divisor, RoundingMode roundingMode)
: 带舍入模式的除法。 -
divideToIntegralValue(BigDecimal divisor)
: 返回当前数值除以指定数值的整数部分。 -
divideAndRemainder(BigDecimal divisor)
: 返回当前数值除以指定数值的商和余数。 -
remainder(BigDecimal divisor)
: 返回当前数值除以指定数值的余数。 -
negate()
: 返回当前数值的相反数。 -
abs()
: 返回当前数值的绝对值。 -
plus()
: 返回当前数值的副本。 -
pow(int n)
: 返回当前数值的 n 次幂。 -
sqrt(MathContext mc)
: 返回当前数值的平方根。
比较和检查
-
compareTo(BigDecimal val)
: 比较当前数值和指定数值。 -
equals(Object obj)
: 检查当前对象与指定对象是否相等。 -
min(BigDecimal val)
: 返回当前数值和指定数值中的较小者。 -
max(BigDecimal val)
: 返回当前数值和指定数值中的较大者。 -
signum()
: 返回当前数值的符号函数(-1, 0, 1)。
取整和舍入
-
setScale(int newScale)
: 返回一个新的BigDecimal
,其标度为指定值。 -
setScale(int newScale, RoundingMode roundingMode)
: 使用指定的舍入模式设置标度。 -
round(MathContext mc)
: 根据指定的MathContext
进行舍入。 -
stripTrailingZeros()
: 返回去除尾随零后的BigDecimal
。
转换和格式化
-
toString()
: 返回当前数值的字符串表示。 -
toPlainString()
: 返回没有指数部分的当前数值的字符串表示。 -
toEngineeringString()
: 返回工程计数法的字符串表示。 -
toBigInteger()
: 转换为BigInteger
。 -
toBigIntegerExact()
: 精确转换为BigInteger
,如果有小数部分则抛出异常。 -
toBigIntegerExact()
: 精确转换为BigInteger
,如果有小数部分则抛出异常。 -
longValue()
: 以long
类型返回当前数值。 -
longValueExact()
: 精确转换为long
,如果有小数部分则抛出异常。 -
intValue()
: 以int
类型返回当前数值。 -
intValueExact()
: 精确转换为int
,如果有小数部分则抛出异常。 -
shortValue()
: 以short
类型返回当前数值。 -
shortValueExact()
: 精确转换为short
,如果有小数部分则抛出异常。 -
byteValue()
: 以byte
类型返回当前数值。 -
byteValueExact()
: 精确转换为byte
,如果有小数部分则抛出异常。 -
floatValue()
: 以float
类型返回当前数值。 -
doubleValue()
: 以double
类型返回当前数值。
其他
-
hashCode()
: 返回当前对象的哈希码。 -
unscaledValue()
: 返回当前数值的无标度值。 -
scale()
: 返回当前数值的标度。 -
precision()
: 返回当前数值的精度。 -
ulp()
: 返回当前数值的单位小数。