A003Java常用API-String

一、概述

1、包路徑

java.lang.String

 

2、簡介

String 類代表字符串;

Java 程序中的所有字符串字面值(如 "abc" )都作爲此類的實例實現;

 

3、字符串的特點

字符串是常量,內容不可改變——所看到的“改變 ”只是改變了指向;

字符串可以共享——若兩個字符串內容完全相同,則是兩個變量指向了同一個內容,通過new關鍵字創建的字符串除外;

字符串相當於char[]字符數組,但底層原理是byte[]字節數組;

 

二、使用方法

1、創建字符串的4種方法

構造方法創建:

public String();//通過雙引號引起內容創建

public String(char[] array);;//通過字符數組創建

public String(byte[] array);;//通過字節數組創建

直接創建:

String str = "字符串內容";(重要備註:僅且僅用此方式創建,字符串存放在字符串常量池中,字符串常量池是在堆中的)

使用:

        String str1 = "abc";
        String str2 = new String("abc");
        char[] chars = {'a','b','c'};
        String str3 = new String(chars);
        byte[] bytes = {97,98,99};
        String str4 = new String(bytes);
        System.out.println(str1);//abc
        System.out.println(str2);//abc
        System.out.println(str3);//abc
        System.out.println(str4);//abc

比較:

        String str1 = "abc";
        String str2 = new String("abc");
        char[] chars = {'a','b','c'};
        String str3 = new String(chars);
        byte[] bytes = {97,98,99};
        String str4 = new String(bytes);
        System.out.println(str1);//abc
        System.out.println(str2);//abc
        System.out.println(str3);//abc
        System.out.println(str4);//abc
        System.out.println(str1==str2);//false
        System.out.println(str1==str3);//false
        System.out.println(str1==str4);//false
        System.out.println(str2==str3);//false
        System.out.println(str2==str4);//false
        System.out.println(str3==str4);//false
        //但是注意了
        String str5 = "abc";
        System.out.println(str1==str5);//true
        //因爲直接創建的內容相同的字符串在字符串常量池中共享,所以地址是相同的

內存圖:

 

2、獲取相關的常用方法

獲取字符串長度:

System.out.println("abc".length());//3

拼接字符串並返回拼接後的字符串:

System.out.println("hello".concat(" world"));//hello world

獲取指定位置的單個字符:

System.out.println("hello".charAt(2));//l

查找子字符串首次出現的索引位置,沒有則返回-1:

System.out.println("hello".indexOf("he"));//0

 

3、截取相關的常用方法

截取從參數位置一直到字符串就結尾的字符串:

System.out.println("abcdefg".substring(2));//cdefg

截取從一個位置到另一個位置的字符串:

System.out.println("abcdefg".substring(2,5));//cde

 

4、轉換相關的常用方法

轉換爲字符串數組:

        String string = "abc";
        char[] chars = string.toCharArray();
        for (char c : chars) {
            System.out.println(c);//a b c
        }

轉換爲字節數組:

        byte[] bytes = string.getBytes();
        for (byte b : bytes) {
            System.out.println(b);//97 98 99
        }

用新的子字符串替換舊的子字符串:

        System.out.println(string.replace("a","z"));//zbc

 

5、字符串分割方法

方法:

String[] split(String regex)//這個字符串實際上是正則表達式,不是簡單的字符串

作用:

將字符串按照一定的規則分割成若干字符串,返回字符串數組

使用:

        String string = "a,b,c";
        String[] strings = string.split(",");
        for (String s : strings) {
            System.out.println(s);//a b c
        }

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章