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

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2021 ITdaan.com