Java中 String的常用方法总结

简介: Java中 String的常用方法总结

一、String中常用的方法,我以代码的形式,来说明这些常用的方法。

@Test
    public void test1(){
        //1.返回字符串的长度
        String s1 = "helloworld";
        System.out.println(s1.length());
        //2.返回某索引处的字符
        System.out.println(s1.charAt(1));
        //3.判断字符串是否是空字符串
        System.out.println(s1.isEmpty());
        //4.将String中的所有字符串转换成小写
        String s2 = "ShoPPing";
        String s3 = s2.toLowerCase();
        System.out.println(s3);
        //5.将String中的所有字符串转换成大写
        String s4 = s2.toUpperCase();
        System.out.println(s4);
        //6.返回字符串的副本,忽略前导空白和尾部空白
        String s5 = "  An  dro  id   ";
        String s6 = s5.trim();
        System.out.println("**********"+s5+"**********");
        System.out.println("**********"+s6+"**********");
        //7.比较字符串的内容是否相同
        System.out.println(s1.equals(s5));
        //8.与equals方法类似,这个忽略大小写
        String s7="abcDef";
        String s8="ABCDef";
        System.out.println(s7.equals(s8));//false
        System.out.println(s7.equalsIgnoreCase(s8));//true
        //9.将指定字符串连接到此字符串的结尾,等价于"+"
        String s9="abc";
        String s10 = s9.concat("def");
        System.out.println(s10);
        //10.比较两个字符串的大小
        String s11="abe";
        System.out.println(s9.compareTo(s11)); //-2  说明s9小于s11
        //11.返回一个新的字符串,它是此字符串的从bedinIndex开始截取到最后的一个子字符串
        String s12 = "我一定要学会Android";
        System.out.println(s12.substring(6));
        //12.返回一个新字符串,它是此字符串从beginIndex开始截取到endIndex(不包括)的一个子字符串
        String s13 = s12.substring(2, 6);
        System.out.println(s13);
    }

输出结果如下:

当然String中,不止这些方法,只不过这些是比较常用的方法。

下面再说一些其他的方法:

还是以代码为例:

@Test
    public void test2(){
        //1.测试此字符串是否以指定的后缀结束
        String s1 = "helloworld";
        System.out.println(s1.endsWith("ld"));//true
        //2.测试此字符串是否以指定的前缀开始
        System.out.println(s1.startsWith("hel"));//true
        //3.测试此字符串从指定索引开始的字符串是否以指定前缀开始
        System.out.println(s1.startsWith("ow", 4));//true
        //4.当且仅当此字符串包含指定的char值序列时,返回true;
        System.out.println(s1.contains("lo"));//true
        System.out.println(s1.contains("lowld"));//false
        //5.返回指定子字符串在此字符串中第一次出现处的索引
        System.out.println(s1.indexOf("el"));//1
        //6.返回指定子字符串在此字符串中第一次出现处的索引,从指定的索引开始
        System.out.println(s1.indexOf("ow",3));//4
        //7.返回指定子字符串在此字符串中最右边出现处的索引
        System.out.println(s1.lastIndexOf("o"));//6
        //8.返回指定子字符串在此字符串中最后一次出现处的索引,从指定的索引开始反向搜索
        System.out.println(s1.lastIndexOf("o", 5));//4
    }

下面是String中关于正则的方法:

@Test
    public void test3(){
        //1.返回一个新的字符串,它是通过用newChar替换此字符串中出现的所有oldChar得到的
        String s1="你好,我是程序员小白,小白!";
        System.out.println(s1.replace('小','大'));
        //2.使用指定的字面值替换序列,替换此字符串所有匹配字面值目标序列的子字符串
        System.out.println(s1.replace("小白","大牛"));
        //3.使用给定的replacement替换此字符串所有匹配给定的正则表达式的子字符串
        String s2="12Hello2342World234Android";
        String s3 = s2.replaceAll("\\d+", ",").replaceAll("^,|,$", "");
        System.out.println(s3);
        //4.告知此字符串是否匹配给定的正则表达式
        String s4="123456";
        //判断s4字符串中是否全部由数字组成,即1-n个数字组成
        boolean matches = s4.matches("\\d+");
        System.out.println(matches);
        String tel="0373-12345678";
        //判断这是否是河南的一个固定电话
        boolean matches1 = tel.matches("0373-\\d{7,8}");
        System.out.println(matches1);
        //5.根据给定正则表达式的匹配拆分此字符串
        String s5="hello|world|android";
        String[] split = s5.split("\\|");
        for (int i = 0; i < split.length; i++) {
            System.out.println(split[i]);
        }
        System.out.println("****************************");
        //6.根据匹配给定的正则表达式来拆分此字符串,最多不能超过limit个,如果超过了,剩下的都全部放到最后一个元素中
        String s6="hello.world.android";
        String[] split1 = s6.split("\\.");
        for (int i = 0; i < split1.length; i++) {
            System.out.println(split1[i]);
        }
    }

输出结果如下:

以上是String常用的方法总结,如有问题可以在评论区指正,一起学习,共同进步!


目录
相关文章
|
2月前
|
消息中间件 Java Kafka
在Java中实现分布式事务的常用框架和方法
总之,选择合适的分布式事务框架和方法需要综合考虑业务需求、性能、复杂度等因素。不同的框架和方法都有其特点和适用场景,需要根据具体情况进行评估和选择。同时,随着技术的不断发展,分布式事务的解决方案也在不断更新和完善,以更好地满足业务的需求。你还可以进一步深入研究和了解这些框架和方法,以便在实际应用中更好地实现分布式事务管理。
|
2月前
|
Java
java小工具util系列5:java文件相关操作工具,包括读取服务器路径下文件,删除文件及子文件,删除文件夹等方法
java小工具util系列5:java文件相关操作工具,包括读取服务器路径下文件,删除文件及子文件,删除文件夹等方法
84 9
|
26天前
|
存储 JavaScript Java
Java 中的 String Pool 简介
本文介绍了 Java 中 String 对象及其存储机制 String Pool 的基本概念,包括字符串引用、构造方法中的内存分配、字符串文字与对象的区别、手工引用、垃圾清理、性能优化,以及 Java 9 中的压缩字符串特性。文章详细解析了 String 对象的初始化、内存使用及优化方法,帮助开发者更好地理解和使用 Java 中的字符串。
Java 中的 String Pool 简介
|
1月前
|
缓存 安全 Java
java 为什么 String 在 java 中是不可变的?
本文探讨了Java中String为何设计为不可变类型,从字符串池的高效利用、哈希码缓存、支持其他对象的安全使用、增强安全性以及线程安全等方面阐述了不可变性的优势。文中还通过具体代码示例解释了这些优点的实际应用。
java 为什么 String 在 java 中是不可变的?
|
2月前
|
JSON Java 关系型数据库
Java更新数据库报错:Data truncation: Cannot create a JSON value from a string with CHARACTER SET 'binary'.
在Java中,使用mybatis-plus更新实体类对象到mysql,其中一个字段对应数据库中json数据类型,更新时报错:Data truncation: Cannot create a JSON value from a string with CHARACTER SET 'binary'.
119 4
Java更新数据库报错:Data truncation: Cannot create a JSON value from a string with CHARACTER SET 'binary'.
|
26天前
|
存储 Java
Java 11 的String是如何优化存储的?
本文介绍了Java中字符串存储优化的原理和实现。通过判断字符串是否全为拉丁字符,使用`byte`代替`char`存储,以节省空间。具体实现涉及`compress`和`toBytes`方法,前者用于尝试压缩字符串,后者则按常规方式存储。代码示例展示了如何根据配置决定使用哪种存储方式。
|
2月前
|
安全 Java 开发者
Java中WAIT和NOTIFY方法必须在同步块中调用的原因
在Java多线程编程中,`wait()`和`notify()`方法是实现线程间协作的关键。这两个方法必须在同步块或同步方法中调用,这一要求背后有着深刻的原因。本文将深入探讨为什么`wait()`和`notify()`方法必须在同步块中调用,以及这一机制如何确保线程安全和避免死锁。
47 4
|
2月前
|
Java
深入探讨Java中的中断机制:INTERRUPTED和ISINTERRUPTED方法详解
在Java多线程编程中,中断机制是协调线程行为的重要手段。了解和正确使用中断机制对于编写高效、可靠的并发程序至关重要。本文将深入探讨Java中的`Thread.interrupted()`和`Thread.isInterrupted()`方法的区别及其应用场景。
55 4
|
2月前
|
Java
在Java中如何将基本数据类型转换为String
在Java中,可使用多种方法将基本数据类型(如int、char等)转换为String:1. 使用String.valueOf()方法;2. 利用+运算符与空字符串连接;3. 对于数字类型,也可使用Integer.toString()等特定类型的方法。这些方法简单高效,适用于不同场景。
63 7
|
2月前
|
Java 数据处理 数据安全/隐私保护
Java处理数据接口方法
Java处理数据接口方法
27 1