• String常用方法归纳 & StringBuilder拓展——火速收藏!!!


    关于String中的常用方法

    charAt

    • 作用:查找字符串中下标为index的字符,返回一个字符。
    • 方法:public char charAt(int index)。
    public static void main(String[] args) {
            String str = "abcdef";
            char ch = str.charAt(2);
            System.out.println(ch);//输出:c
        }
    
    • 1
    • 2
    • 3
    • 4
    • 5

    compareTo & compareToIgnoreCase

    compareTo

    • 作用:按照字典序比较两个字符串大小。
    • 方法:int compareTo(String anotherString) 。

    compareToIgnoreCase

    • 作用:按字典顺序比较两个字符串,忽略大小写差异。
    • 方法:int compareToIgnoreCase(String str) 。
    public static void main(String[] args) {
            String str1 = "abcdef";
            int ret1 = str1.compareTo("abcee");
            System.out.println(ret1);//输出-1
            int ret2 = str1.compareToIgnoreCase("AbcDe");
            System.out.println(ret2);//输出1
        }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    关于返回值

    1. 返回0表示两个字符串的值相同。
    2. 如果不相同,返回两个字符串 的 第一位不相同字符 的 ASCII之差。
    3. 如果是包含关系的话,返回长度之差。

    contains

    • 作用:判断调用该方法的字符串是否包含后面的子字符串s。
    • 方法:boolean contains(CharSequence s)
    public static void main(String[] args) {
            String str = "abcdef";
            boolean bool1 = str.contains("abc");
            boolean bool2 = str.contains("aaa");
            System.out.println(bool1);//输出true
            System.out.println(bool2);//输出false
        }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    equals & equalsIgnoreCase

    • 作用:将此字符串与指定对象进行比较。
    • 方法:boolean equals(Object anObject)
    • 区别:equalsIgnoreCase比较忽略大小写
    public static void main(String[] args) {
            String str = "abcdef";
            boolean bool1 = str.equals("abcdef");
            boolean bool2 = str.equals("aaa");
            System.out.println(bool1);//输出true
            System.out.println(bool2);//输出false
    
            String str2 = "abcdef";
            boolean bool3 = str.equalsIgnoreCase("Abcdef");
            System.out.println(bool3);//输出true
        }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    注意:比较两个字符串内容是否相等使用“==”是在比较引用对象存储的地址。

    indexOf

    indexOf

    • 作用:返回某个子字符串在当前字符串中第一次出现的下标,没有就返回-1。
    • 方法:int indexOf(String str)
      lastIndexOf
    • 作用:返回某个子字符串在当前字符串中最后一次出现的下标,没有就返回-1。
    • 方法:int lastIndexOf(String str)
    public static void main(String[] args) {
            String str = "abcdef";
            int ret = str.indexOf("cdef");
            System.out.println(ret);//输出2
            int ret2 = str.lastIndexOf("cde");
            System.out.println(ret2);//输出2
        }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    isEmpty

    • 作用:判断某个字符串是否为空字符串,已经实例化了,也就是字符串的长度是否为0。
    • 方法:boolean isEmpty()
    public static void main(String[] args) {
            String str1 = "abcdef";
            boolean bool1 = str1.isEmpty();
            String str2 = "";
            boolean bool2 =  str2.isEmpty();
            System.out.println(bool1);//输出false
            System.out.println(bool2);//输出true
        }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    length

    • 作用:求此字符串的长度。
    • 方法:int length()
    public static void main(String[] args) {
            String str = "abcdef";
            System.out.println(str.length());//输出6
        }
    
    • 1
    • 2
    • 3
    • 4

    注意与属性的length区分,求字符串长度要加(),数组则不用!

    replace & replaceFrist

    replace

    • 作用:将当前字符串当中的所有target字符换成replacement字符。
    • 方法:public String replace(CharSequence target, CharSequence replacement)

    replaceFrist

    • 作用:将当前字符串当中的第一个target字符串换成replacement字符串。
    • 方法:String replaceFirst(String regex, String replacement)
    public static void main(String[] args) {
            String str1 = "Hi do you like learning English?";
            String str2 = str1.replace(' ','/');
            System.out.println(str2);//输出Hi/do/you/like/learning/English?
            String str3 = str1.replaceFirst(" ",",");
            System.out.println(str3);//输出Hi,do you like learning English?
            String str4 = str1.replaceAll(" ","//");//替换字符串,类似replace替换字符!
            System.out.println(str4);//输出Hi//do//you//like//learning//English?
        }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    split

    • 作用:将当前字符串以regex字符串隔开,隔开后的片段以String[]形式返回。
    • 方法:String[] split(String regex)
    public static void main(String[] args) {
            String str1 = "Hi do you like learning English?";
            String[] str2 = str1.split(" ");
            for (String x:str2) {
                System.out.println(x);/*输出 Hi
                                            do
                                            you
                                            like
                                            learning
                                            English?*/
            }
        }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    substring

    • 作用:在当前字符串中,从beginIndex开始截取,截取到endIndex的新字符串,返回新字符串。
    • 方法:String substring(int beginIndex, int endIndex)
    public static void main(String[] args) {
            String str1 = "abcdef";
            String str2 = str1.substring(1,3);
            System.out.println(str2);//输出bc
        }
    
    • 1
    • 2
    • 3
    • 4
    • 5

    toCharArray

    • 作用:将此字符串转换为新的字符数组。
    • 方法:char[] toCharArray()
    • 注意:左闭右开
    public static void main(String[] args) {
            String str1 = "abcdef";
            char[] str2 = str1.toCharArray();
            for (char ch:str2) {
                System.out.print(ch+" ");//输出a b c d e f
            }
        }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    toUpperCase & toLowerCase

    toUpperCase

    • 作用:将字符串全都转换成大写字母。
    • 方法:public String toUpperCase()
      toLowerCase
    • 作用:将字符串全都转换成小写字母。
    • 方法:public String toLowerCase()
    public static void main(String[] args) {
            String str1 = "abcdef";
            String str2 = str1.toUpperCase();
            System.out.println(str2);//输出ABCDEF
            String str3 = str2.toLowerCase();
            System.out.println(str3);//输出abcdef
        }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    trim

    • 作用:去除字符串前后的空格。
    • 方法:String trim()
    public static void main(String[] args) {
            String str1 = "   Hi do you like learning English?     ";
            String str2 = str1.trim();
            System.out.println(str1);//输出   Hi do you like learning English?
            System.out.println(str2);//输出Hi do you like learning English?
        }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    format

    • 作用:使用指定的格式字符串和参数返回格式化的字符串。
    • 方法:static String format(String format, Object… args)
    public static void main(String[] args) {
            String s = String.format("%d-%d-%d", 2019, 9,14);
            System.out.println(s);//输出2019-9-14
        }
    
    • 1
    • 2
    • 3
    • 4

    valueOf

    • 作用:返回 Object参数的字符串 Object形式。
    • 方法:static String valueOf(Object obj)
    class Student {
        int id;
        String name;
    
        public Student(int id, String name) {
            this.id = id;
            this.name = name;
        }
    
        @Override
        public String toString() {              //重写toStrong便于我们打印
            return "Student{" +
                    "id=" + id +
                    ", name='" + name + '\'' +
                    '}';
        }
    }
    
    public class text2 {
        public static void main(String[] args) {
            Student student = new Student(10,"zhangsan");
            String str = String.valueOf(student);
            System.out.println(str);//输出Student{id=10, name='zhangsan'}
        }
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26

    拓展:StringBuilder

    使用StringBuilder需要导入包:import java.lang.StringBuilder;

    reverse

    • 作用:逆置当前字符串
    • 方法:StringBuilder reverse()
    public static void main(String[] args) {
            StringBuilder strbu1 = new StringBuilder("abcdef");
            strbu1.reverse();
            System.out.println(strbu1);//输出fedcba
        }
    
    • 1
    • 2
    • 3
    • 4
    • 5

    append

    • 作用:将 char参数的字符串表示附加到此序列。
    • 方法:StringBuilder append(char c)
    public static void main(String[] args) {
            StringBuilder strbu1 = new StringBuilder("abcdef");
            strbu1.append('g');
            System.out.println(strbu1);//输出abcdefg
        }
    
    • 1
    • 2
    • 3
    • 4
    • 5
  • 相关阅读:
    【二分】Pythagorean Triples—CF1487D
    bilibili和抖音之内容类型
    OceanBase 4.1解读:读写兼备的DBLink让数据共享“零距离”
    【每日一问】手机如何开启USB调试?
    Unity 3D模型展示框架篇之ILRuntime快速入门
    蓝桥杯(3.11)
    Spring Cloud Alibaba-02-Nacos Discovery服务治理及负载均衡
    计算机毕业设计ssm基于SSM框架的药店管理系统ghao1系统+程序+源码+lw+远程部署
    Maven进阶实战
    华为机试题解析018:从单向链表中删除指定值的节点(python)
  • 原文地址:https://blog.csdn.net/m0_65038072/article/details/128001961