36.String类
  • 字符串广泛应用在Java编程中,在Java中字符串属于对象,Java提供了String类来创建和操作字符串。

  • String类位于Java.lang包下,无序导入

  • 以下是String类的一些常用方法

  • equals(“这是一个字符串”) 比较两个字符串,split(“分隔依据”) 分割字符串,charAt(1) 索引取值,codePointAt(1)获取指定索引的Unicode码,replace(“老”, “新”),**replaceAll(“个”, “”)**支持正则匹配的替换方法

  • getChars(0, 10, buffer, 0) 拆分成字符数组,

    参数
    srcBegin - 要复制的字符串中第一个字符的索引。
    srcEnd - 要复制的字符串中最后一个字符后面的索引。
    dst - 目标数组。
    dstBegin - 目标数组中的起始偏移量。

package com.string.demo;

public class Demo1 {
    public static void main(String[] args) {
        String str = "这是一个字符串";

        System.out.println(str.equals("这是一个字符串"));
        System.out.println(str.equals(""));  //字符串比较

        System.out.println(str.length());  //获取字符长度
        String[] strs = str.split("个");  // 以一个字符串来分割字符串
        for (String item : strs
        ) {
            System.out.println(item);
        }

        char c = str.charAt(1);  // 根据索引获取单个字符
        System.out.println(c);
        System.out.println("==========================");
        str = "这是一个字符串,你懂个锤子";
        String[] strs2 = str.split("个", 2); //limit 限制分割的字符串的个数,其中0代表无限制
        for (String item : strs2
        ) {
            System.out.println(item);
        }
        System.out.println("==========================");
        System.out.println(str.codePointAt(1));  // 获取指定索引位置上的Unicode码
        System.out.println(str.codePointBefore(1));//返回指定索引之前的字符(Unicode代码点)。
        System.out.println("==========================");

        String newStr = str.concat("我是新增的字符");  // 实现字符串的拼接,不影响原来的字符串 ,直接用 + 号也可以实现同样的效果
        System.out.println(newStr);
        System.out.println("==========================");

        String new$tr = str.replace("个", "老");  // 老字符替换新字符,第一个参数为老字符,第二个参数为新字符
        System.out.println(new$tr);

        String new$tr2 = str.replace('个', '老');
        System.out.println(new$tr2);
        System.out.println("==========================");
        //用给定的替换替换与给定的 regular expression匹配的此字符串的每个子字符串,支持正则匹配
        String new$tr3 = str.replaceAll("个", "");
        System.out.println(new$tr3);

        System.out.println("==========================");
        str += "123456";
        System.out.println(str);
        new$tr3 = str.replaceAll("\\d", "");
        System.out.println(new$tr3);
        System.out.println("==========================");


        /*
        * 参数
                srcBegin - 要复制的字符串中第一个字符的索引。
                srcEnd - 要复制的字符串中最后一个字符后面的索引。
                dst - 目标数组。
                dstBegin - 目标数组中的起始偏移量。
        * */
        char[] buffer = new char[10];
        str.getChars(0, 10, buffer, 0);
        for (char item : buffer
        ) {
            System.out.println(item);
        }
    }
}