String类常用的API
阅读原文时间:2023年07月08日阅读:1

String类常用的API


注意:

不能使用 == 去比较两个字符串的内容。原理:比较的是字符串的地址。

(如果两个字符串都是使用""进行赋值,那么他们都是放在常量池中,只要字符串内容一致,那么他们的地址相同,比较返回值为true。如果一个字符串为""直接赋值一个字符串为对象赋值,那么比较返回值为false,因为前者被存在常量池中一个被放在堆内存中两者的地址不同,即比较结果为false。)

内容比较:

推荐使用String类提供的 equals 方法:只关心内容一致即可。

方法名

说明

应用

public boolean equals(Object anObject)

将此字符串与指定对象进行比较。只关心字符内容是否一致!

登录账号密码的比较

public boolean equalsIgnoreCase(String anotherString)

将此字符串与指定对象进行比较,忽略大小写比较字符串,只关心字符内容是否一致!

验证码的比较


方法名

说明

public intlength()

返回此字符串的长度

public char charAt(int index)

获取某个索引位置处的字符

public char[] toCharArraiy():

将当前字符串转换成字符数组返回

public String substring(int beginIndex, int endIndex)

根据开始和结束索引进行截取,得到新的字符串(包前不包后)

public String substring(int beginIndex)

从传入的索引出截取,截取到末尾,得到新的字符串

public String replace(CharSequence target,CharSequence replacement)

得到新值,将字符串中的旧值替换,得到新的字符串

public String[] split(String regex)

根据传入的规则切割字符串,得到字符串数组返回


代码:

//1.返回此字符串的长度
        name.length();

        //2.获取某个索引位置处的字符
        for (int i = 0; i < name.length(); i++) {
            char ch =name.charAt(i);
            System.out.println(ch);
        }
        //3.将当前字符串转换成字符数组返回
        char[] chars2 = name.toCharArray();
        for (int i = 0; i < chars2.length; i++) {
            System.out.println(chars2[i]);
        }

        //4.根据开始和结束索引进行截取,得到新的字符串(包前不包后)
        String name2 = "java是最厉害的编程语言!";
        String rs = name2.substring(0, 9);
        System.out.println(rs);   //java是最厉害的

        //5.从传入的索引出截取,截取到末尾,得到新的字符串
        String rs2 = name2.substring(4);
        System.out.println(rs2);   //是最厉害的编程语言!

        //6.得到新值,将字符串中的旧值替换,得到新的字符串
        String name3 = "金三胖是最厉害的80后!我好爱金三胖";
        String rs3 = name3.replace("金三胖", "***");
        System.out.println(rs3);

        //7.根据传入的规则切割字符串,得到字符串数组返回
        String name4 = "王宝强,贾乃亮,陈羽凡";
        String[] names = name4.split(",");
        for (int i = 0; i < names.length; i++) {
            System.out.println("选择了:" + names[i]);
        }