每日一道面试题之String常用的方法有哪些?

本文介绍了Java中String类的一些常用方法,包括获取字符串长度、字符、位置,判断内容、包含关系、开头和结尾,转换为字节数组和字符数组,大小写转换,字符串拼接,以及replace和trim功能。此外,还讲解了compareTo方法在字符串比较中的作用。
摘要由CSDN通过智能技术生成

String常用的方法有哪些?

根据功能大致可分为:常见String类的获取,常见String类的判断,常见String类的转换,常见String类的其他常用功能;

获取功能常用的方法有以下几种:

 public class Test1 {
     public static void main(String[] args) {
           String str="Hello,siri";
           //length():获取字符串的长度
           System.out.println(str+"的长度为:"+str.length());
           //charAt():获取指定索引处的字符
           System.out.println(str+"指定索引处的字符为:"+str.charAt(8));
           //indexOf("l"):获取指定字符第一次出现的位置
           System.out.println(str+"中,指定字符第一次出现的位置为:"+str.indexOf("l"));
           //substring():获取从指定位置开始到末尾的子字符串
           System.out.println("截取"+str+"子字符串为:"+str.substring(4));
           //substring():获取从指定位置开始到指定位置(不包含右边)结束的子字符串
           System.out.println("截取"+str+"子字符串为:"+str.substring(4,6));
         }
}

输出如下所示:

Hello,siri的长度为:10
Hello,siri指定索引处的字符为:r
Hello,siri中,指定字符第一次出现的位置为:2
截取Hello,siri子字符串为:o,siri
截取Hello,siri子字符串为:o,

判断功能常用的方法有以下几种:

 public class Test1 {
     public static void main(String[] args) {
           String str1="Hello,siri";
           String str2="hello";
           //equals():比较两个字符串的内容是否相同,区分大小写
           System.out.println("字符串"+str1+"和"+str2+"是否内容相同?"+str1.equals(str2));
           //contains():判断字符串是否包含传递进来的字符串
           System.out.println("字符串"+str1+"是否包含"+str2+"?"+str1.contains(str2));
           //startsWith():判断字符串是否以传递进来的字符串开头
           System.out.println("字符串"+str1+"是否以"+str2+"开头?"+str1.startsWith(str2));
          //endsWith():判断字符串是否以传递进来的字符串结尾
          System.out.println("字符串"+str1+"是否以"+str2+"结尾?"+str1.startsWith(str2));
          //isEmpty():判断字符串的内容是否为空串
          System.out.println(str1+"是否为空串?"+str1.isEmpty());
          System.out.println(str2+"是否为空串?"+str2.isEmpty());
         }
}

输出如下所示:

字符串Hello,siri和hello是否内容相同?false
字符串Hello,siri是否包含hello?false
字符串Hello,siri是否以hello开头?false
字符串Hello,siri是否以hello结尾?false
Hello,siri是否为空串?false
hello是否为空串?false

转换功能常用的方法有以下几种:

举例:

public class Test {
    public static void main(String[] args) {
        //getBytes():将字符串转化为字节数组--->一个字节数组,每个元素都表示字符串中对应位置的字符的ASCII码值
        String str="abcdefg";
        byte[] bytelist = str.getBytes();
        for(byte key: bytelist){
            System.out.println(key);
        }
        //toCharArray():将字符串转化为字符数组
        char[] toCharArray=str.toCharArray();
        for(char key: toCharArray){
            System.out.println(key);
        }
        //valueOf():将字符数组转换成字符串,ValueOf可以将任意类型转为字符串
        System.out.println( String.valueOf(toCharArray));
        String string="Hello,SiRi";
        String string1="Good evening";
        //toLowerCase():将字符串转为小写
        System.out.println(string+"转换为小写:"+string.toLowerCase());
        //toUpperCase():将字符串转为大写
        System.out.println(string+"转换为大写:"+string.toUpperCase());
        //concat():实现字符串的拼接
        System.out.println(string+"和"+string1+"拼接的结果为:"+string.concat(string1));
    }
}

输出如下:

97
98
99
100
101
102
103
a
b
c
d
e
f
g
abcdefg
Hello,SiRi转换为小写:hello,siri
Hello,SiRi转换为大写:HELLO,SIRI
Hello,SiRiGood evening拼接的结果为:Hello,SiRiGood evening

关于String的其他常用功能如下所示:

public class Test {
    public static void main(String[] args) {
        String string1="I Love Xian";
        //将指定的字符进行互换
        System.out.println(string1.replace('e','p'));
        //将指定的字符串进行互换
        System.out.println(string1.replace(string1,"I Love Beijing"));
        //trim():去除字符串两端的空格
        String string2="       I Love Shanghai    ";
        System.out.println(string2.trim());
    }
}

输出:

I Lovp Xian
I Love Beijing
I Love Shanghai

java中的compareTo方法:

如下所示:

public class Test {
    public static void main(String[] args) {
        //当两个字符串的首字母不相同时,返回首字母之间的ASCII差值
        String str1="abc";
        String str2="ccd";
        System.out.println(str1.compareTo(str2));
        //当两个字符串的首字母相同时,则往后进行比较,直到出现字符不同的,返回其ASCII差值
        String str3="abc";
        String str4="abg";
        System.out.println(str3.compareTo(str4));
        //当两个字符串的长度不同,但可参与比较的字符都是相同时,返回其字符串长度的差值
        String str5="abc";
        String str6="abc1234567";
        System.out.println(str5.compareTo(str6));
    }
}

输出如下所示:

-2
-4
-7

注意:compareTo方法不能用来进行数字之间的比较,且进行字符比较的过程中是不区分大小写的

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

从未止步..

谢谢你的打赏,我会继续努力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值