开发者

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

目录
  • 1.Integer类
    • 1)常用静态方法
    • 2)常用对象方法
  • 2.String类
    • 1)创建
    • 2) 常用方法
      • 比较与判断javascript
      • 字符操作
      • 修改
  • 3.Character类
    • 4.Double类
      • 5.Float类
        • 6.Math类
          • 7. StringBuilder / StringBuffer(字符串可变类)
            • 区别:
            • 8. Objects(空值判断、比较)
              • 9. Arrays(操作数组的工具类)
                • 10. Collections(操作 List、Set、Map)
                  • 11. BigDecimal(精确小数运算)
                    • 1android) 构造:
                      • 2) 常用方法:
                        • 3) 舍入模式:
                        • 12. Random(生成随机数)
                          • 13. ThreadLocalRandom(更快的多线程随机)
                            • 优势:
                            • 14.如何判断一个类是不是工具类?
                              • 总结 

                                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 个返回固定常量 Listwww.devze.com
                                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(全范围)
                                nextIntandroid(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常用类方法内容请搜索编程客栈(www.devze.com)以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程客栈(www.devze.com)!

                                0

                                上一篇:

                                下一篇:

                                精彩评论

                                暂无评论...
                                验证码 换一张
                                取 消

                                最新开发

                                开发排行榜