Java中几个常用类方法汇总(附详细代码)

 更新时间:2025年08月12日 09:42:54   作者:凸头  
这篇文章主要介绍了Java中几个常用类方法的相关资料,文中通过示例讲解了静态与对象操作、工具类特征、多线程随机数生成及数值计算技巧,需要的朋友可以参考下

1.Integer类

1)常用静态方法

方法说明
Integer.parseInt(String s)把字符串转为 int
Integer.valueOf(String s)返回Integer对象
Interger.toBinaryString(int n)转二进制字符串
Integer.toHexString(int n)转八进制字符串
Integer.toOctalString(int n)转十六进制字符串
Integer.compare(int x, int y)比较两个int
Integer.max(int a, int b)最大值
Integer.min(int a, int b最小值
Integer.sum(int a,int b)
Integer.parseInt("A", 16)十六进制字符串 → 十进制数
Integer.toString(26, 16)十进制 → 十六进制字符串
//eg:
int result = Integer.parseInt("A", 16);
System.out.println(result); // 输出 10

2)常用对象方法

方法说明
intVaule()去除int值,eg:doubleObj.intVaule();
compareTo(Integer another)比较两个 Integer
equals(object obj)比较两个值是否相等

2.String类

1)创建

String s = "hello";
String s = new String("hello");

2) 常用方法

比较与判断

方法说明
equals(String s)比较内容
equalsIgnoreCase(String s)忽略大小写比较
compareTo(String s)字典序比较
contains(CharSequence s)是否包含子串
startsWith(String prefix)前缀
endsWith(String suffix)后缀
isEmpty()是否空字符串
//1.compareTo(T o)用法示例:按顺序比较
//当前对象<参数对象,返回负整数;
//当前对象=参数对象,返回0;
//当前对象>参数对象,返回正整数;

//2.CharSequence是一个Java的接口,表示一个可读的字符序列。它是String、StringBuilder、StringBuffer等类的父接口,定义了字符序列的基本操作。

//3.startsWith()
String str = "Hello World";
boolean result = str.startsWith("Hello");
//使用偏移量,从索引7开始的子字符串是否以"World"开头
boolean result = str.startWith("World",7);

字符操作

方法说明
charAt(int index)取下标字符
length()字符串长度
indexOf(String s)首次出现位置
lastIndexOf(String s)最后一次出现的位置

修改

方法说明
substring(int start, int end)提取子字符串
replace(char old, char new)替换字符/字符串(CharSequence)
replaceAll(String regex, String replacement)替换所有正则匹配的内容
toUpperCase()/toLowerCase()大小写转换
trim()去除首尾空格
split(String regex)按指定字符分割成数组

3.Character类

方法说明
Character.isDigit(char c)是否为数字
Character.isLetter(char c)是否为字母
Character.isUpperCase(char c)是否为大写
Character.isLowerCase(char c)是否为小写
Character.toUpperCase(char c)转大写
Character.toLowerCase(char c)转小写

4.Double类

方法说明
Double.parseDouble(String s)字符串转double
Double.valueOf(String s)返回 Double 对象
Double.compare(double a, double b)比较大小
isNaN(double v)是否是NaN
isInfinite(double v)是否为无穷大
doubleValue()取出 double 值
注意:doubleValue()是Number 类及其子类(如 Double、Integer、Float 等)的方法!

5.Float类

方法说明
Float.parseFloat(String s)字符串转float
Float.valueOf(String s)返回 Float 对象
Float.compare(float a, float b)比较大小
isNaN(float v)是否是NaN
isInfinite(float v)是否为无穷大
floatValue()取出 float 值

6.Math类

方法说明
abs(x)绝对值
max(a,b)/min(a,b)最大/小值
pow(a,b)幂运算,a^b
sqrt(x)平方根
cbrt(x)立方根
round(x)四舍五入
ceil(x)向上取整
floor(x)向下取整
random()返回[0, 1)的随机数
log(x)自然对数

7. StringBuilder / StringBuffer(字符串可变类)

方法说明
append(x)追加字符串 / 各种类型
insert(int offset, x)插入
delete(int start, int end)删除子串
deleteCharAt(int index)删除指定下标字符
reverse()翻转
toString()转为 String
setCharAt(int index, char ch)设置指定位置字符
length()长度
charAt(int index)获取字符

区别:

  • StringBuilder非线程安全,速度快
  • StringBuffer线程安全,速度慢

8. Objects(空值判断、比较)

方法说明
Objects.equals(a, b)安全比较(支持 null)
Objects.isNull(obj)判断是否为 null
Objects.nonNull(obj)判断非 null(常配合 Stream)
Objects.requireNonNull(obj)如果是 null 抛异常
Objects.hash(...)计算哈希值(常用于实现 hashCode

9. Arrays(操作数组的工具类)

方法说明
Arrays.sort(arr)默认升序排序
Arrays.sort(arr, Comparator)自定义排序
Arrays.binarySearch(arr, key)二分查找(已排序数组
Arrays.toString(arr)输出数组内容
Arrays.equals(arr1, arr2)比较两个数组是否相等
Arrays.fill(arr, value)填充数组
Arrays.copyOf(arr, newLength)拷贝数组
Arrays.copyOfRange(arr, from, to)区间拷贝

10. Collections(操作 List、Set、Map)

方法说明
Collections.sort(list)对 List 排序(升序)
Collections.sort(list, Comparator)自定义排序
Collections.reverse(list)反转
Collections.shuffle(list)随机打乱
Collections.swap(list, i, j)交换两个元素位置
Collections.max(list) / min(list)最大/最小元素
Collections.frequency(list, x)元素出现次数
Collections.unmodifiableList(list)返回只读 List
Collections.singletonList(x)单元素只读 List
Collections.synchronizedList(list)返回线程安全 List

📌Collections.unmodifiableList(list)、Collections.singletonList(x)、Collections.synchronizedList(list) 对比

方法是否可写是否线程安全元素数量适用场景
unmodifiableList(list)❌(原 list 可变)任意给调用者返回一个只读视图
singletonList(x)❌(完全只读)固定 1 个返回固定常量 List
synchronizedList(list)任意多线程下安全操作 List

11. BigDecimal(精确小数运算)

1) 构造:

BigDecimal a = new BigDecimal("0.1"); // 字符串构造更精确

2) 常用方法:

方法说明
add(BigDecimal)加法
subtract(BigDecimal)减法
multiply(BigDecimal)乘法
divide(BigDecimal, scale, RoundingMode)除法,必须指定精度和舍入方式
compareTo(BigDecimal)比较大小(返回 -1/0/1)
setScale(int scale, RoundingMode)设置小数位数和舍入方式
toPlainString()返回非科学计数法字符串
doubleValue()转为 double

3) 舍入模式:

RoundingMode.HALF_UP  // 四舍五入
RoundingMode.DOWN     // 向零舍去
1. setScale(int scale, RoundingMode mode)
设置小数点保留几位,并指定舍入方式。

2. divide(BigDecimal divisor, int scale, RoundingMode mode)
在除法不能整除时,设置保留位数和舍入方式。

12. Random(生成随机数)

Random rand = new Random();
// 生成 [min, max] 区间整数
int random = (int)(Math.random() * (max - min + 1)) + min;
方法说明
nextInt()随机 int(全范围)
nextInt(n)生成 [0, n) 的 int
nextDouble()生成 [0.0, 1.0)
nextBoolean()true / false
nextLong()long 类型随机数
nextFloat()float 随机数

13. ThreadLocalRandom(更快的多线程随机)

ThreadLocalRandom rand = ThreadLocalRandom.current();
方法说明
nextInt(int bound)[0, bound) 随机整数
nextInt(int origin, int bound)[origin, bound)
nextDouble()[0.0, 1.0)
nextDouble(double origin, double bound)[origin, bound)

优势:

  • 不同线程之间无竞争,适合多线程场景。
  • 不要用 new ThreadLocalRandom(),直接 ThreadLocalRandom.current()

14.如何判断一个类是不是工具类?

  • 构造方法是私有的
  • 所有方法是静态的

总结 

到此这篇关于Java中几个常用类方法的文章就介绍到这了,更多相关Java常用类方法内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java中 springcloud.openfeign应用案例解析

    Java中 springcloud.openfeign应用案例解析

    使用OpenFeign能让编写Web Service客户端更加简单,使用时只需定义服务接口,然后在上面添加注解,OpenFeign也支持可拔插式的编码和解码器,这篇文章主要介绍了Java中 springcloud.openfeign应用案例解析,需要的朋友可以参考下
    2024-06-06
  • Java实现的Excel列号数字与字母互相转换功能

    Java实现的Excel列号数字与字母互相转换功能

    这篇文章主要介绍了Java实现的Excel列号数字与字母互相转换功能,涉及java针对Excel相关数值与字符串操作技巧,需要的朋友可以参考下
    2018-03-03
  • JVM参数NativeMemoryTracking的使用

    JVM参数NativeMemoryTracking的使用

    本文主要介绍了JVM参数NativeMemoryTracking的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2025-01-01
  • Java开发人员最常犯的10个错误

    Java开发人员最常犯的10个错误

    这篇文章主要介绍了Java开发人员最常犯的10个错误,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-07-07
  • MyBatis 详细讲解动态 SQL的使用

    MyBatis 详细讲解动态 SQL的使用

    动态 SQL 是 MyBatis 的强大特性之一。如果你使用过 JDBC 或其它类似的框架,你应该能理解根据不同条件拼接 SQL 语句有多痛苦,例如拼接时要确保不能忘记添加必要的空格,还要注意去掉列表最后一个列名的逗号。利用动态 SQL,可以彻底摆脱这种痛苦
    2022-04-04
  • SpringCloud中的openFeign调用服务并传参的过程

    SpringCloud中的openFeign调用服务并传参的过程

    服务和服务之间通信,不仅仅是调用,往往在调用过程中还伴随着参数传递,接下来重点来看看OpenFeign在调用服务时如何传递参数,感兴趣的朋友一起看看吧
    2023-11-11
  • Java框架解说之BIO NIO AIO不同IO模型演进之路

    Java框架解说之BIO NIO AIO不同IO模型演进之路

    网上很多IO资料,对新手来说,越看越晕。根据自己的理解,总结对比了一下BIO、NIO、AIO,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-10-10
  • spring redis 如何实现模糊查找key

    spring redis 如何实现模糊查找key

    这篇文章主要介绍了spring redis 如何实现模糊查找key的操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-08-08
  • Java定时任务ScheduledThreadPoolExecutor示例详解

    Java定时任务ScheduledThreadPoolExecutor示例详解

    这篇文章主要介绍了Java定时任务ScheduledThreadPoolExecutor示例详解,这里使用scheduleAtFixedRate方法安排一个任务,该任务是一个 Runnable 匿名类,其run方法中调用了new LoginViewTimeTask().loginStatisticsHandle()方法,需要的朋友可以参考下
    2023-11-11
  • Springboot @Value使用代码实例

    Springboot @Value使用代码实例

    这篇文章主要介绍了Springboot @Value使用代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-11-11

最新评论