String类

String类

概述

java中所有的字符串文字都可以被看做是实现此类的实例

特点

字符串不变: 字符串的值在创建后不能被更改

String对象是不可变的,所以可以被共享

"abc"等效于char[] data = {‘a’,‘b’,‘c’}

例如:

String str = "abc";

相当于:

char data[] = {'a', 'b', 'c'};

String str = new String(data);

// String底层是靠字符数组实现的

使用步骤

查看类

java.lang.String:此类不需要导入

查看构造方法

public String(): 初始化新创建的String对象,以使其表示空字符序列

public String(char[] value): 通过当前参数中的字符数组来构造新的String

public String(byte[] bytes): 通过使用平台默认字符集解码当前参数中的字节数组来构造新的String

//无参构造

String str = new String();

// 通过字符数组构造

char chars[] = {'a', 'b', 'c'};

String str2 = new String(chars);

// 通过字节数组构造

byte bytes[] = {97,98,99};

String str3 = new String(bytes);

2. String 常用方法

判断功能的方法

public boolean equals (Object anObject): 将次字符串与指定对象比较

public boolean equalsIgnoreCase(String anotherString)忽略大小写

获取功能的方法

public int length ():返回此字符串的长度

public String concat(String str): 将指定的字符串拼接到字符串的末尾

public char charAt(int index): 返回指定索引处的char值

public int indexOf(String str): 返回指定字符串第一次出现在该字符串内的索引

public String substring(int beginIndex): 返回子字符串,从beginindex开始截取字符串到字符串末尾

public String substring (int beginIndex,int endIndex):从beginindex到endIndex截取字符串,左闭右开

public class String_Demo02 {

  public static void main(String[] args) {

    //创建字符串对象

    String s = "helloworld";

    // int length():获取字符串的长度,其实也就是字符个数

    System.out.println(s.length());

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

    // String concat (String str):将将指定的字符串连接到该字符串的末尾.

    String s = "helloworld";

    String s2 = s.concat("**hello itheima");

    System.out.println(s2);// helloworld**hello itheima

    // char charAt(int index):获取指定索引处的字符

    System.out.println(s.charAt(0));

    System.out.println(s.charAt(1));

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

    // int indexOf(String str):获取str在字符串对象中第一次出现的索引,没有返回-1

    System.out.println(s.indexOf("l"));

    System.out.println(s.indexOf("owo"));

    System.out.println(s.indexOf("ak"));

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

    // String substring(int start):从start开始截取字符串到字符串结尾

    System.out.println(s.substring(0));

    System.out.println(s.substring(5));

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

    // String substring(int start,int end):从start到end截取字符串。含start,不含end。

    System.out.println(s.substring(0, s.length()));

    System.out.println(s.substring(3,8));

  }

}

转换功能的方法

public char[] toCharArray (): 将此字符串转化为新的字符数组

public byte[] getBytes ():使用默认字符集将String编码转换为新的字节数组

public String replace(CharSequence target, CharSequence replacement): 将与target匹配的字符串用replacement字符串替换

public class String_Demo03 {

    public static void main(String[] args) {

        // 创建字符串对象

        String s = "abcde";

       

        // char[] tpCharArray() 把字符串转换为字符数组

        char[] chs = s.toCharArray();

        for(int x = 0; x

        System.out.println(chs[x]);   

        }

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

        // byte[] getBytes ():把字符串转换为字节数组

        byte[] bytes = s.getBytes();

    for(int x = 0; x < bytes.length; x++) {

      System.out.println(bytes[x]);

    }

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

    // 替换字母it为大写IT

    String str = "itcast itheima";

    String replace = str.replace("it", "IT");

    System.out.println(replace); // ITcast ITheima

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

    }

}

CharSequence 是一个接口,也是一种引用类型,作为参数类型,可以把String对象传递到方法中。

分割功能的方法

public String[] split(String regex): 将此字符串按照给定的regex拆分为字符串数组

你可能感兴趣的:(String类)