String类的几个常用方法

本文详细介绍了如何在Java中使用String类进行字符串比较、长度获取、拆分、子串提取、字符数组转换、位置查找以及字符串替换的操作,强调了字符串常量和引用的区别以及Java中的字符串共享机制。
摘要由CSDN通过智能技术生成

描述

以下程序演示了String类的几个常用方法,包括比较字符串、取得字符串长度、拆分字符串、获取子串、字符串转换成字符数组、获取字符串位置、替换字符串等方法。

案例

public class StringTest {
    public static void main(String[] args) {
        //比较字符串
        String str1 = "自强不息";  //字符串常量
        String str2 = "自强不息";  //字符串常量
        String str3 = new String("自强不息");
        String str4 = new String("自强不息");
        System.out.println("str1 == str2(比较字符串常量):" + (str1 == str2));
        System.out.println("str3 == str4(比较引用):" + (str3 == str4));
        System.out.println("sstr1.equals(str4)(比较内容):" + str1.equals(str4));

        //拆分字符串
        String s1 = "中华,人民,共和国";
        String []s2 = s1.split(","); //用逗号作为分隔符拆分字符串
        for(String str : s2){
            System.out.print(str + " ");
        }

        //获取子串
        String s3 = "0123456789ABCDEFGH";
        String s4 = s3.substring(6,14);  //取得子串
        System.out.println("\n子串:" + s4);

        //字符串转换成字符数组
        String s5 = "幸福都是奋斗出来的!";
        char []chArr = s5.toCharArray(); //字符串转换为字符数组
        for(int i = 0; i < chArr.length; i++){
            System.out.print(chArr[i] + " ");
        }

        //获取字符串位置
        int location = s5.indexOf("奋斗"); //获取字符串首次出现的位置
        System.out.println("\n奋斗的位置是:" + location);

        //替换字符串
        String s6 = "自##力##更##生";
        String s7 = s6.replaceAll("##","***");//把字符串中的##替换成***
        System.out.println("替换结果:" + s7);
    }
}

分析

第8、9行比较两个字符串常量的引用,第10行的str1.equals(str4)比较的是str1与str4的内容。
字符串是引用类型,关系运算符”==“比较引用(地址),但比较字符串内容更有价值。采用String类的equals()、equalsIgnoreCase()和CompareTo()等方法可以比较内容。
Java语言对String类采用共享设计方式。Java系统有一个字符串对象池保存字符串对象,如果对象池保存了字符串,则直接取出使用,例如程序案例第4、5行的字符串常量都是自强不息,因此str1和str2直接引用已有堆空间。

运行结果在这里插入图片描述

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值