String類的常見操作


一.String類概述

1.String的值是一個對象,也是一個常量不能被改變

2.String的equals方法是比較兩個字符串的內容

3.String s1=”abc”  String s2=new String(“abc”) s1有一個對象,s2有兩個對象

二.String常見功能---獲取和判斷

1.獲取

1.1 字符串中包含的字符數,也就是字符串的長度。

int length():獲取長度。

1.2 根據指定位置獲取位置上的某個字符

char charAt(int index)

1.3 根據字符獲取該字符在字符串中的位置

Int indexOf(int ch):返回的是ch在字符串中第一次出現的位置

int indexOf(int ch,int fromIndex):從fromIndex指定位置開始,獲取ch在字符串中出現的位置

int indexOf(String str,int fromIndex): 從fromIndex指定位置開始,獲取ch在字符串中出現的位置,如果沒有找到返回-1

int lastIndexOf(String str):反向索引一個字符出現的位置

 1 public static void method_get(){
 2         String str="abcdeakpf";
 3         //打印字符串的長度
 4         sop(str.length());  //結果為5
 5         //根據索引獲取字符
 6         sop(str.charAt(4)); //結果為a
 7         //根據字符獲取索引
 8         sop(str.indexOf('a', 3));  //結果為5
 9         //反向索引一個字符出現的位置
10         sop(str.lastIndexOf("a"));  //結果為5
11     }
View Code

2.判斷

2.1 字符串中是否包含某一個子串

boolean contains(str)

特殊之處:indexOf(str):可以索引str第一次出現的位置,如果返回-1,表示該str不在字符串中存在,所以也可以用於判斷是否包含指定字符子串,而且可以獲取該子串出現的位置;

2.2 字符中是否有內容

boolean isEmpty():原理就是判斷length是否為0

2.3 字符串中是否以指定內容開頭

boolean startsWith(str);

2.4 字符串是以指定內容結尾

boolean endsWith(str);

2.5 判斷字符串內容是否相同,復寫了Object類中的equals方法

boolean equals(str);

2.6 判斷內容是否相同,忽略大小寫

boolean equalsIgnoreCase();

1 public static void method_is(){
2         String str="ArrayDemo.java";
3         //判斷文件名稱是否以Array單詞開頭
4         sop(str.startsWith("Array"));  //結果為true
5         //判斷文件名稱是否是.java文件
6         sop(str.endsWith(".java"));    //結果為true
7         //判斷文件名稱中是否包含Demo單詞
8         sop(str.contains("Demo"));     //結果為true
9     }
View Code

3.字符串常見功能---轉換

3.1 將字符數組轉成字符串。

構造函數:String(char[])

          String(char[],offset,count):將字符數組中的一部分轉成字符串

靜態方法:

          static String copyValueOf(char[])

          static String copyValueOf(char[],offset,count)

          static String valueOf(cahr[])

3.2 將字符串轉成字符數組

char[] toCharArray();

3.3 將字節數組轉換成字符串

          String(byte[])

          String(byte[],offset,count):將字節數組中的一部分轉成字符串

3.4 將字符串轉換成字節數組

byte[] getBytes();

3.5 將基本數據類型轉換成字符串

static String valueOf(int)

static String valueOf(double)

3.6 特殊:字符串和字節數組在轉換過程中是可以指定編碼表的。

 1 public static void method_trans(){
 2         char[] arr={'a','b','c','d','e','f'};
 3         String s=new String(arr,1,3);
 4         sop("s="+s);  //結果為bcd
 5         
 6         String s1="zxcvbnm";
 7         char[] chs=s1.toCharArray();
 8         for (int i = 0; i < chs.length; i++) {
 9             sop("ch="+chs[i]);
10         }
11     }
View Code

4.替換

String replace(oldchar,   newchar)

如果要替換的字符不存在,返回的還是原串

1 public static void method_replace(){
2         String s="Hello java";
3         String s1=s.replace('a', 'n');
4         String s2=s.replace("java", "world");
5         sop("s="+s);          //結果為Hello java
6         sop("s1="+s1);        //結果為Hello jnvn
7         sop("s2="+s2);        //結果為Hello world
8     }
View Code

5.切割

String[] split(regex);

1 public static void method_split(){
2         String s="zhangsan,lisi,wangwu";
3         String[] attr=s.split(",");
4         for (int i = 0; i < attr.length; i++) {
5             sop(attr[i]);    //結果為zhangsan lisi wangwu
6         }
7     }
View Code

6.子串,獲取字符串中的一部分

String substring(begin):從指定位置開始到結尾,如果角標不存在,會出現角標越界異常

String substring(begin,end):從起始位置開始到結束位置為止,保護起始位置不包含結束位置

1 public static void method_sub(){
2         String s="abcdef";
3         sop(s.substring(2));         //結果為cdef
4         sop(s.substring(2, 4));      //結果為cd
5     }
View Code

7.轉換,去除空格,比較

7.1 將字符串轉換成大寫或者小寫

String toUpperCase();

String toLowerCase();

7.2 將字符串兩端的多個空格去除

String trim();

7.3 對兩個字符串進行自然順序的比較

int compareTo(String)

1 public static void method_7(){
2         String s="  Hello Java  ";
3         sop(s.toUpperCase());
4         sop(s.toLowerCase());
5         sop(s.trim());
6         String s1="acc";
7         String s2="aaa";
8         sop(s1.compareTo(s2));  //結果為2(兩個Unicode值相減所得結果),表示s1大於s2
9     }
View Code


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM