Java字符串定義及常用方法
String、StringBuffer和StringBuilder
String修飾的是不可變的字符串,而StringBuffer和StringBuilder類的對象是可以被修改的。
StringBuffer和StringBuilder 類不同的是StringBuilder 是線程不安全的,但運行速度要比StringBuffer快(性能高);StringBuffer是線程安全的(性能低)。

字符串的定義
String str = "Hello";
//或
String Str2;
str2 = "Hello";
//或
String str3 = new String("Hello");
String str4 = new String(str3);
字符串拼接【concat()】
//加號(+)拼接
String str = "Hello ";
String str2 = "World";
System.out.println(str+str2);
//使用 concat() 方法
String str3 = "Hello";
str3 = str3.concat(" World");
str3 = str3.concat(" 你好");
System.out.println(str3);
字符串長度【length()】
String str = "Hello"; int str_len = str.length(); // 獲取字符串長度 System.out.println(str_len);
大小寫轉(zhuǎn)換
String str = "Hello World"; System.out.println(str.toLowerCase()); //轉(zhuǎn)換成小寫,結(jié)果為:hello world System.out.println(str.toUpperCase()); //轉(zhuǎn)換成大寫,結(jié)果為:HELLO WORLD
去空格【trim()】
String str = " Hello "; String trim = str.trim(); System.out.println(trim); //"Hello" System.out.println(str.length()); //9 System.out.println(trim.length()); //5
字符串截取【substring()】
注意:substring():截取字符串時不是按照字符索引來截取的,而是按字符來截取的。
substring(int beginIndex,int endIndex):beginIndex(起始索引),endIndex(結(jié)束索引)。
(截取長度不能超出字符串長度范圍)
String str = "Hello World";
String str_sub1 = str.substring(7);
String str_sub2 = str.substring(2,9);
System.out.println(str_sub1); //orld
System.out.println(str_sub2); //llo wor
字符串分隔【split()】
String str = "Hello,World";
String[] split = str.split(","); //split("指定的分隔符");
for(int i = 0;i<split.length;i++){
System.out.println("字符串分割后為:\n" + split[i]);
}
字符串替換【replace()】
replace() 方法用于將目標(biāo)字符串中的指定字符(串)替換成新的字符(串)。
replaceFirst() 方法用于將目標(biāo)字符串中所指定的字符串的第一個子字符串替換成新的字符串。
replaceAll() 方法用于將目標(biāo)字符串中所指定的字符串的所有子字符串替換成新的字符串。
String str = "Hello world,Hello java";
String replace = str.replace("w","W"); //replace("被替換的字符(串)","替換的字符(串)");
String replaceFirst = str.replaceFirst("Hello","你好");
String replaceAll = str.replaceAll("Hello","你好");
System.out.println(replace); // Hello World,Hello java
System.out.println(replaceFirst); // 你好 world,Hello java
System.out.println(replaceAll); // 你好 world,你好 java
字符串的比較【equals()】
equals() 方法將兩個字符串逐個地進行比較,看每個字符是否相同;相同為true,不同為false。(區(qū)分大小寫)【常用】
equalsIgnoreCase() 與equals()方法相同,但不區(qū)分大小寫。
compareTo() 方法基于字符串的Unicode值進行比較(做減法運算)。(如下:“A”的Unicode值為97,“a”的Unicode值為65,故str1.compareTo(str)等于32)
String str1="abc";
String str2=new String("abc");
String str3="ABC";
System.out.println(str1.equals(str2)); // true
System.out.println(str1.equals(str3)); // false
System.out.println(str1.equalsIgnoreCase(str2)); // true
String str="A";
String str1="a";
System.out.println("str1.compareTo(str)的結(jié)果是:"+str1.compareTo(str)); // 32
System.out.println("str1.compareTo('a')的結(jié)果是:"+str1.compareTo("a")); // 0
字符串查找
根據(jù)字符查找
indexOf() 方法用于返回字符(串)在指定字符串中首次出現(xiàn)的索引位置,如果能找到,則返回索引值,否則返回 -1。
lastIndexOf()方法用于返回字符(串)在指定字符串中最后一次出現(xiàn)的索引位置,如果能找到則返回索引值,否則返回 -1。
注意:
indexOf() 方法的查找策略是從左往右查找,如果不指定起始索引,則默認(rèn)從字符串的開頭開始查找。
lastIndexOf() 方法的查找策略是從右往左查找,如果不指定起始索引,則默認(rèn)從字符串的末尾開始查找。
String str = "Hello World,Hello java";
System.out.println(str.indexOf("e")); // 1 (查找"e"在字符串中第一次出現(xiàn)的位置)
System.out.println(str.indexOf("e",6)); // 13 (從左往右查找,從索引為6開始查找"e"的位置)
System.out.println(str.lastIndexOf("e")); // 13 (查找"e"在字符串中最后出現(xiàn)的位置)
System.out.println(str.lastIndexOf("e",6)); // 1 (從右往左查找,從索引為6開始查找"e"的位置)
根據(jù)索引查找【charAt()】
String str = "Hello World"; System.out.println(str.charAt(6)); // w (查找索引為6的字符)
總結(jié)
以上所述是小編給大家介紹的Java字符串定義及常用方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!
相關(guān)文章
Java線程隊列LinkedBlockingQueue的使用
本文主要介紹了Java線程隊列LinkedBlockingQueue的使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-06-06
SpringBoot實現(xiàn)token登錄的示例代碼
在進行登錄驗證時,我們需要session或cookie會話進行驗證,當(dāng)我們脫離瀏覽器用app等向服務(wù)端發(fā)請求就沒有session和cookie機制,這時我們就需要使用token令牌進行登錄驗證,本文就詳細(xì)的介紹一下,感興趣的可以了解一下2022-03-03
web.xml中servlet, bean, filter, listenr 加載順序_動力節(jié)點Java學(xué)院整理
這篇文章主要介紹了web.xml中servlet, bean, filter, listenr 加載順序,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-08-08
詳解Java MyBatis 插入數(shù)據(jù)庫返回主鍵
這篇文章主要介紹了詳解Java MyBatis 插入數(shù)據(jù)庫返回主鍵,有興趣的可以了解一下。2017-01-01
java.lang.OutOfMemoryError: Metaspace異常解決的方法
這篇文章主要介紹了java.lang.OutOfMemoryError: Metaspace異常解決的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03
SpringBoot 并發(fā)登錄人數(shù)控制的實現(xiàn)方法
這篇文章主要介紹了SpringBoot 并發(fā)登錄人數(shù)控制的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-05-05

