String类

本文详细介绍了Java中String类的基本概念,包括其不可变性,以及常用的字符串操作方法如equals(),equalsIgnoreCase(),compareTo(),contains(),indexOf(),lastIndexOf(),startsWith(),endsWith(),replaceAll(),replaceFirst()的用法和示例。

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

1.简介

String类是Java语言中的一个基本类,用于表示字符串。这个类是final的,也就是说不能被继。String类是不可变的,也就是说,一旦创建了String对象,就不能修改其内容。如果尝试修改String对象,实际上会创建一个新的String对象,而不是修改原来的对象。这种不可变性使得String对象可以被安全地共享,因为多个引用指向同一个字符串时,无论这个字符串如何被修改,这些引用始终指向同一个字符串。

2.String类用于操作字符串的方法

1.比较字符串

    equals():比较两个字符串的内容是否相同,区分大小写。

 System.out.print("请输入字符串:");
        String aa=scanner.next();
        if(aa.equals("zhang")){
            System.out.println("相同");
        }else {
            System.out.println("不同");
        }

equalsIgnoreCase():比较两个字符串的内容是否相同,不考虑大小写。

 if(aa.equalsIgnoreCase("zhang"))

compareTo():比较两个字符串的大小关系,根据字典顺序排序。

字典顺序是指字符串中各个字符的顺序关系,其中每个字符按照其Unicode编码值进行比较。按照字典顺序,字符串"abc"比字符串"abd"要小,因为'a'的Unicode编码值比'b'的Unicode编码值小。同样地,字符串"bcd"比字符串"abc"要大,因为'b'的Unicode编码值比'a'的Unicode编码值大。在compareTo()方法中,如果两个字符串的内容相同,则它们的比较结果为0;如果第一个字符串小于第二个字符串,则它们的比较结果为负数;如果第一个字符串大于第二个字符串,则它们的比较结果为正数。

Scanner scanner=new Scanner(System.in);
        System.out.print("请输入字符串1:");
        String aa=scanner.next();
        System.out.print("请输入字符串2:");
        String bb=scanner.next();
        System.out.println(aa.compareTo(bb));

需要注意的是,compareTo()考虑字符串中的大小写。例如,"ABC"和"abc"在compareTo()方法中的比较结果是-32,其他的只要是相同字母不同大小写也一样。

compareToIgnoreCase():比较两个字符串的大小关系,不考虑大小写,根据字典顺序排序。

System.out.println(aa.compareToIgnoreCase(bb));

2.搜索字符串

contains():判断字符串中是否包含指定的子串。

Scanner scanner=new Scanner(System.in);
        System.out.print("请输入字符串1:");
        String aa=scanner.next();
        System.out.print("请输入字符串2:");
        String bb=scanner.next();
        if (aa.contains(bb)){
            System.out.println(aa+"包含"+bb);
        }else {
            System.out.println(aa+"不包含"+bb);
        }

indexOf():返回子串在字符串中第一次出现的位置的索引,如果没有找到则返回-1。

Scanner scanner=new Scanner(System.in);
        System.out.print("请输入字符串1:");
        String aa=scanner.next();
        System.out.print("请输入字符串2:");
        String bb=scanner.next();
        System.out.println(aa.indexOf(bb));

lastIndexOf():返回子串在字符串中最后一次出现的位置的索引,如果没有找到则返回-1。

System.out.println(aa.lastIndexOf(bb));

startsWith():判断字符串是否以指定的前缀开头。

System.out.println(aa.startsWith(bb));

endsWith():判断字符串是否以指定的后缀结尾。

System.out.println(aa.endsWith(bb));

replaceAll(String regex, String replacement) 是 String 类的一个方法,它用于将字符串中所有匹配给定正则表达式的部分替换为指定的替换字符串。

执行这段代码就会将字符串中的o都替换成0。

replaceFirst(String regex, String replacement): 替换字符串中第一次出现的正则表达式匹配的字符串。

这样就会替换字符串中出现的第一个o,替换成0

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值