基础类库:String类 Part2

本文详细介绍了Java中String类的各种方法,包括判断功能、获取功能、转换功能以及其他实用功能,如替换、去除空格和字符串比较等。通过实例演示了如何使用这些方法进行字符串操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

3.成员方法
A.判断功能
a.boolean equals(Object anObject) 区分大小写
Object类的equals方法比较的是地址值;被String类重写的equals方法比较的是字符串的内容
字符序列相同,则true,否则为false
b.boolean equalsIgnoreCase(String anotherString) 不区分大小写
将此 String 与另一个 String 比较,不考虑大小写。
c.boolean contains(String s)
大串是否包含小串
d.boolean startsWith(String prefix)
测试此字符串是否以指定的前缀开始。
e.boolean endsWith(String s)
测试此字符串是否以指定的后缀结束。
f.boolean isEmpty()
是否是空字符串
B.获取功能
a. char charAt(int index)
返回指定索引处的 char 值。
b.int indexOf(int ch) 找不到,不存在都是-1
返回指定字符在此字符串中第一次出现处的索引。
c.int indexOf(String str)
返回指定子字符串在此字符串中第一次出现处的索引。
d. int indexOf(String str, int fromIndex)
返回指定子字符串在此字符串中第一次出现处的索引,从指定的索引开始。
e.String substring(int beginIndex)
返回一个新的字符串,它是此字符串的一个子字符串。
f.String substring(int beginIndex, int endIndex)
返回一个新字符串,它是此字符串的一个子字符串。
C.转换功能
a.byte[] getBytes(String charsetName) 把字符串转换成字节数组
b.char[] toCharArray() 把字符串转换成字符数组
c.static String valueOf(char[] data) 把字符数组转换成字符串
d.static String valueOf(int i) 把int转换成字符串,另外还有其他基本类型
e.String toLowerCase() 所有字符都转换为小写
f.String toUpperCase() 所有字符都转换为大写
g.String concat(String str) 将指定字符串连接到此字符串的结尾。
注意:String类的静态方法可以将任意类型的数据转换成字符串
static String valueOf(基本类型 value);基本类型
static String valueOf(Object obj);引用类型
D.其他功能

a.替换
String replace(char oldChar, char newChar)
返回一个新的字符串,它是通过用 newChar 替换此字符串中出现的所有 oldChar 得到的。
String replace(String old,String new)
用新的字符串,替代原字符串的某一子串

b.去除字符串首尾空格
String trim()
返回字符串的副本,忽略前导空白和尾部空白

c.按字典顺序比较两个字符串
int compareTo(String anotherString) 按字典顺序比较两个字符串。
int compareToIgnoreCase(String str) 按字典顺序比较两个字符串,不考虑大小写。

package API_ordinary;

public class StringDemo2 {

    public static void main(String[] args) {
        //判断功能
        //boolean equals()
        System.out.println("hello".equals("hello"));
        //boolean equalsIgnoreCase(String str)
        String s1="Hello";
        String s2="heLlo";
        System.out.println(s1.equalsIgnoreCase(s2));
        //boolean contains(String s)
        String s3="he";
        System.out.println(s2.contains(s3));
        //boolean startsWith(String s)
        System.out.println(s2.startsWith("h"));
        //boolean endsWith(String s)
        System.out.println(s2.endsWith("o"));
        //boolean isEmpty()
        System.out.println("".isEmpty());
        //获取功能
        String s="helloiamkangkangfromamerica";
        //char charAt(int index)
        System.out.println(s.charAt(10));
        //int indexOf(int ch)  e的值是101
        System.out.println(s.indexOf(101));
        //int indexOf(String str)
        System.out.println(s.indexOf("amkangkang"));
        //int indexOf(String str, int fromIndex) 
        System.out.println(s.indexOf("am",0));
        System.out.println(s.indexOf("am",7));
        //String substring(int beginIndex)
        System.out.println(s.substring(20));
        //String substring(int beginIndex, int endIndex)
        System.out.println(s.substring(20,22));
        //练习1:用上述方法遍历字符串的每个字符
        for(int i=0;i<s.length();i++)
            System.out.print(s.charAt(i));
        //练习2:统计一个字符串中大写、小写、数字字符出现的次数
        s="hEllO1wo32lD";
        int big=0;
        int small=0;
        int num=0;
        for(int i=0;i<s.length();i++)
        {
            char c=s.charAt(i);
            if(c>='a'&&c<='z')
                small++;
            if(c>='A'&&c<='Z')
                big++;
            if(c>='0'&&c<='9')
                num++;
        }
        System.out.println("\n大写字母个数:"+big+"\n小写字母个数:"+small+"\n数字个数:"+num);
        //替换功能
        //String replace(char oldChar, char newChar)
        s="aaaabbbcccddd";
        System.out.println(s.replace('a', 'i'));
        //String replace(String old,String new) 
        System.out.println(s.replace("aa", "xxxxx"));
        //去除字符串首尾空格,中间的空格去不掉
        s="   abcd    ";
        System.out.println(s.trim());
        //按字典顺序比较两字符串
        s1="hello";
        s2="hello";
        s3="abc";
        String s4="xyz";
        System.out.println(s1.compareTo(s2));//都相同,则为0
        System.out.println(s1.compareTo(s3));//index处不同,则s1的index处字符的ASCII值减s2处的
        System.out.println(s1.compareTo(s4));

    }

}

true
true
true
true
true
true
n
1
6
6
20
america
am
helloiamkangkangfromamerica
大写字母个数:3
小写字母个数:6
数字个数:3
iiiibbbcccddd
xxxxxxxxxxbbbcccddd
abcd
0
7
-16

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值