3. String类

1. String类概述

(1)String 是final类,不能被其他类继承

(2)String 属性 private final char value[]; 用于存放字符串内容,地址不能修改!!!值可以修改!

代码示例

package com.baidu.www;

public class Tesy {
    public static void main(String[] args) {
        final char[] value = {'a', 'b', 'c'};
        value[0] = 'd';
        System.out.println(value);
    }
}

5be1ed0f4fb5afdb50d39bf19c939260

继承关系

33601f39cca986174371c5dcc3e69fac

常用方法

67e34413994bed36064ecf19a8ee88a0
8a6cf9443e31fc588703a540cf05ef81
de4304d64ffbebf873eb4bab3a7d0075
ff318e1b8f8c83879a27f69a6914297b
0282fe9e1d35655d90acbe1758ba0fab

2. String类的判断功能

16c2d6c9799dcdbaa1f50078e4843dc1

代码示例

package com.baidu.www;

/**
 * String类:
 *      概述:
 *          字符串,每一个字符串对象都是常量。
 *      构造方法:
 *          String(byte[]): 构造一个String对象,将指定字节数组中的数据转化为字符串
 *          String(char[]): 构造一个String对象,将指定字符数组中的数据转化为字符串
 *      成员方法
 *          boolean equals(String):          判断当前字符串与给定字符串是否相同,区分大小写
 *          boolean equalsIgnoreCase(String):判断当前字符与给定字符串是否相同,不区分大小写
 *          boolean startsWith(String):      判断是否以给定字符串开头
 *          boolean isEmpty():               判断字符串是否为空
 */

public class Test {
    public static void main(String[] args) {
        // 测试 构造方法
        // 1. 将指定的字节数组转化为字符串
        byte[] bys = {97, 98, 99};
        String s1 = new String(bys);
        System.out.println("s1:" + s1);

        // 2. 将指定的字符数组转化为字符串
        char[] chs = {'h', 'e', 'l', 'l', 'o'};
        String s2 = new String(chs);
        System.out.println("s2:" + s2);

        // 在实际开发中。String类非常常用
        // String优化:省去了new的动作
        String s3 = "abc"; // 免new

        System.out.println("==================================");

        // 测试 成员方法
        String str1 = "abc";
        String str2 = "ABC";
//        boolean equals(String):          判断当前字符串与给定字符串是否相同,区分大小写
        System.out.println("equals方法:" + str1.equals(str2));
//        boolean equalsIgnoreCase(String):判断当前字符与给定字符串是否相同,不区分大小写
        System.out.println("equalsIgnoreCase方法:" + str1.equalsIgnoreCase(str2));
//        boolean startsWith(String):      判断是否以给定字符串开头
        System.out.println("startsWith方法:" + str1.startsWith("ab"));
//        boolean isEmpty():               判断字符串是否为空
        System.out.println("isEmpty方法:" + str1.isEmpty());
    }
}

两种构造方法的区别

305c6b5c6264957ee4cd34df95270bde
a75a26abcf3b22c8418dfb98a1e5adf0

3. String类的获取功能

f54d111cfd41ebb10c92421fde74744f

代码示例

package com.baidu.www;

/**
 * String类的获取功能:
 *      int length():               获取当前字符串的长度
 *      char charAt(int index):     获取指定索引位置的字符
 *      int indexOf(String):        获取指定字符(串)第一次出现的索引
 *      int lastIndexOf(Stirng):    获取指定字符(串)最后一次出现的索引
 *      String subString(int):      获取指定索引位置(含)之后的字符串
 *      String subString(int, int): 获取从索引start位置(含)起至索引end位置(不含)的字符串
 */

public class Test {
    public static void main(String[] args) {
        // 定义字符串
        String str = "Java java";

//                *      int length():               获取当前字符串的长度
        System.out.println("字符串的长度是:" + str.length());
//                *      char charAt(int index):     获取指定索引位置的字符
        System.out.println("索引2出现的字符:"+str.charAt(2));
//                *      int indexOf(String):        获取指定字符(串)第一次出现的索引
        System.out.println("a第一次出现的位置:"+str.indexOf('a'));
//                *      int lastIndexOf(Stirng):    获取指定字符(串)最后一次出现的索引
        System.out.println("a最后一次出现的位置:"+str.lastIndexOf('a'));
//                *      String subString(int):      获取指定索引位置(含)之后的字符串
        System.out.println("从5开始的字符串:"+str.substring(5));
//                *      String subString(int, int): 获取从索引start位置(含)起至索引end位置(不含)的字符串
        System.out.println("从5到7的字符串:" + str.substring(5,7));
    }
}

3. String类的转换功能

8522bf18239fabfbe2153fb52744f5b3

代码示例

package com.baidu.www;

/**
 * String类的转换功能:
 *      byte[] getBytes():        将字符串转换成字节数组
 *      char[] toCharArray():     将字符串转换成字符数组
 *      static String valueOf():  将指定类型数据转换成字符串
 *      String replace(old, new): 将指定字符(串)替换成新的字符(串)
 *      String[] split(String):   切割字符串,返回切割后的字符串数据,原字符串不变
 *      String trim():            去掉字符串两端的空白字符
 */

public class Test {
    public static void main(String[] args) {
        // 定义一个字符串
        String s1 = "abc";

//                *      byte[] getBytes():        将字符串转换成字节数组
        byte[] bys = s1.getBytes();
        for (int i = 0; i < bys.length; i++) {
            System.out.println(bys[i]);
        }
        System.out.println("=========================================");
//                *      char[] toCharArray():     将字符串转换成字符数组
        char[] chs = s1.toCharArray();
        for (int i = 0; i < chs.length; i++) {
            System.out.println(chs[i]);
        }
//                *      static String valueOf():  将指定类型数据转换成字符串
        System.out.println("=========================================");
        System.out.println(String.valueOf(123) + 4);
        // 实际开发中,使用下边的代码替代
        String s2 = "" + 123;
        System.out.println(s2 + 4);

//                *      String replace(old, new): 将指定字符(串)替换成新的字符(串)
        System.out.println("=========================================");
        System.out.println(s1.replace('a', 'b'));

//                *      String[] split(String):   切割字符串,返回切割后的字符串数据,原字符串不变
        String s3 = "abc abc";
        String[] arr = s3.split(" ");
        System.out.println("=========================================");
        for (int i = 0; i < arr.length; i++) {
            System.out.println(arr[i]);
        }

//                *      String trim():            去掉字符串两端的空白字符
        String s4 = "   a  b   ";
        System.out.println("=========================================");
        System.out.println(s4.trim());

    }
}
posted @ 2025-08-20 19:14  无敌美少女战士  阅读(8)  评论(0)    收藏  举报