Java字符串定義及常用方法
String、StringBuffer和StringBuilder
String修飾的是不可變的字符串,而StringBuffer和StringBuilder
類(lèi)的對(duì)象是可以被修改的。
StringBuffer
和StringBuilder
類(lèi)不同的是StringBuilder
是線程不安全的,但運(yùn)行速度要比StringBuffer快(性能高);StringBuffer是線程安全的(性能低)。
字符串的定義
String str = "Hello"; //或 String Str2; str2 = "Hello"; //或 String str3 = new String("Hello"); String str4 = new String(str3);
字符串拼接【concat()】
//加號(hào)(+)拼接 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);
字符串長(zhǎng)度【length()】
String str = "Hello"; int str_len = str.length(); // 獲取字符串長(zhǎng)度 System.out.println(str_len);
大小寫(xiě)轉(zhuǎn)換
String str = "Hello World"; System.out.println(str.toLowerCase()); //轉(zhuǎn)換成小寫(xiě),結(jié)果為:hello world System.out.println(str.toUpperCase()); //轉(zhuǎn)換成大寫(xiě),結(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():截取字符串時(shí)不是按照字符索引來(lái)截取的,而是按字符來(lái)截取的。
substring(int beginIndex,int endIndex):beginIndex(起始索引),endIndex(結(jié)束索引)。
(截取長(zhǎng)度不能超出字符串長(zhǎng)度范圍)
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)字符串中所指定的字符串的第一個(gè)子字符串替換成新的字符串。
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() 方法將兩個(gè)字符串逐個(gè)地進(jìn)行比較,看每個(gè)字符是否相同;相同為true,不同為false。(區(qū)分大小寫(xiě))【常用】
equalsIgnoreCase() 與equals()方法相同,但不區(qū)分大小寫(xiě)。
compareTo() 方法基于字符串的Unicode值進(jìn)行比較(做減法運(yùn)算)。(如下:“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)從字符串的開(kāi)頭開(kāi)始查找。
lastIndexOf() 方法的查找策略是從右往左查找,如果不指定起始索引,則默認(rèn)從字符串的末尾開(kāi)始查找。
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開(kāi)始查找"e"的位置) System.out.println(str.lastIndexOf("e")); // 13 (查找"e"在字符串中最后出現(xiàn)的位置) System.out.println(str.lastIndexOf("e",6)); // 1 (從右往左查找,從索引為6開(kāi)始查找"e"的位置)
根據(jù)索引查找【charAt()】
String str = "Hello World"; System.out.println(str.charAt(6)); // w (查找索引為6的字符)
總結(jié)
以上所述是小編給大家介紹的Java字符串定義及常用方法,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺(jué)得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!
相關(guān)文章
Java中使用websocket實(shí)現(xiàn)在線聊天功能
這篇文章主要介紹了Java中使用websocket實(shí)現(xiàn)在線聊天功能,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2018-02-02Java的優(yōu)先隊(duì)列PriorityQueue原理及實(shí)例分析
這篇文章主要介紹了Java的優(yōu)先隊(duì)列PriorityQueue原理解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-12-12Spring Boot 2.X優(yōu)雅的解決跨域問(wèn)題
這篇文章主要給大家介紹了關(guān)于Spring Boot 2.X如何優(yōu)雅的解決跨域問(wèn)題的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Spring Boot 2.X具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-03-03Java?InputStream實(shí)戰(zhàn)之輕松讀取操作文件流
在Java中,輸入輸出是非常重要的基礎(chǔ)功能,其中,InputStream是Java中的一個(gè)重要輸入流類(lèi),用于從輸入源讀取數(shù)據(jù),下面我們就來(lái)學(xué)習(xí)一下InputStream類(lèi)的相關(guān)知識(shí)吧2023-10-10利用java讀取web項(xiàng)目中json文件為map集合方法示例
這篇文章主要給大家介紹了關(guān)于利用java讀取web項(xiàng)目中json文件為map集合的相關(guān)資料,文中通過(guò)示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧。2017-08-08Spring實(shí)現(xiàn)動(dòng)態(tài)切換多數(shù)據(jù)源的解決方案
這篇文章主要給大家介紹了Spring實(shí)現(xiàn)動(dòng)態(tài)切換多數(shù)據(jù)源的解決方案,文中給出了詳細(xì)的介紹和示例代碼,相信對(duì)大家的理解和學(xué)習(xí)具有一定的參考借鑒價(jià)值,有需要的朋友可以參考學(xué)習(xí),下面來(lái)一起看看吧。2017-01-01Spring Boot 通過(guò)注解實(shí)現(xiàn)數(shù)據(jù)校驗(yàn)的方法
這篇文章主要介紹了Spring Boot 通過(guò)注解實(shí)現(xiàn)數(shù)據(jù)校驗(yàn)的方法,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-09-09