Java String常用方法详解:从入门到实战应用
"鍝庢垜璇达紝Java閲岀殑String鍒板簳鏈夊灏戠鐜╂硶锛熶负浠€涔堥殧澹佽€佺帇鎬昏'鎼炴噦String灏辫兘瑙e喅80%鐨勫瓧绗︿覆闂'锛? 浠婂ぉ鍜变滑灏辨潵鍞犲敔杩欎釜鐪嬩技绠€鍗曞嵈鏆楄棌鐜勬満鐨凷tring瀵硅薄锛屼繚璇佽浣犱粠涓€鑴告嚨閫煎埌璞佺劧寮€鏈楋紒
涓€銆佸厛鏁存槑鐧斤細String鍒板簳鏄釜鍟ョ帺鎰忓効锛?/h3>
锛堣繖閲屽亣瑁呮湁鍒嗗壊绾匡紝鎵嬪姩绌鸿锛?/p>
鍒氬叆闂ㄧ殑灏忕櫧鑲畾瑕侀棶锛?String涓嶅氨鏄瓨鏂囧瓧鐨勫悧锛? 璇濇槸娌¢敊锛屼絾浣犵煡閬揓ava铏氭嫙鏈猴紙JVM锛変负浜嗗鐞嗗瓧绗︿覆鎼炰簡澶氬皯灏忓姩浣滃悧锛熶妇涓牀瀛愷煂帮細
java澶嶅埗String s1 = "hello"; // 鐩存帴鎵旇繘甯搁噺姹?/span> String s2 = new String("hello"); // 鍦ㄥ爢閲屾柊寤轰簡涓獫
杩欎咯鐪嬬潃閮芥槸"hello"锛屼絾鈥?strong>鈥嬪唴瀛樺湴鍧€瀹屽叏涓嶅悓鈥?/strong>鈥嬶紒鍓嶈€呮槸JVM鍋锋噿閲嶅鍒╃敤鐨勶紝鍚庤€呮槸瀹炴墦瀹炴柊寤虹殑瀵硅薄銆傝繖鐭ヨ瘑鐐硅€冭瘯蹇呰€冿紝闈㈣瘯蹇呴棶锛岃鐗簡锛?/p>
锛堟彃鍏ヨ嚜闂嚜绛旓級鏈変汉瑕侀棶锛?閭f棩甯稿紑鍙戠敤鍝濂斤紵" 涓汉寤鸿鑳界敤瀛楅潰閲忓氨鍒玭ew瀵硅薄锛岀渷鍐呭瓨涓嶈锛岃繕鑳介伩鍏嶅緢澶氬潙銆備笉淇′綘璇曡瘯姣旇緝杩欎袱涓璞$殑鍦板潃锛?/p>
java澶嶅埗System.out.println(s1 == s2); // 杈撳嚭false System.out.println(s1.equals(s2)); // 杈撳嚭true
浜屻€佸繀椤绘帉鎻$殑7鎶婄憺澹啗鍒€
锛堝亣瑁呰繖閲屾湁鍒嗗壊绾匡級
- 鈥?strong>鈥媗ength()鈥?/strong>鈥嬶細杩欎釜绠€鍗曞埌鐖嗭紝浣嗘柊鎵嬫渶瀹规槗蹇樺啓鎷彿锛佽浣忓畠鏄釜鏂规硶涓嶆槸灞炴€э細
java澶嶅埗"绋嬪簭鍛樼澶存寚鍗?.length(); // 杈撳嚭6
- 鈥?strong>鈥媍harAt()鈥?/strong>鈥嬶細鎯虫媶寮€瀛楃涓茬湅姣忎釜瀛楃锛熺敤瀹冨噯娌¢敊锛?/li>
java澶嶅埗"ABCDE".charAt(2); // 杈撳嚭'C'锛堜粠0寮€濮嬫暟锛侊級
- 鈥?strong>鈥媠ubstring()鈥?/strong>鈥嬶細鍒掗噸鐐癸紒涓や釜鍙傛暟鐗堟墠鏄帇閬擄細
java澶嶅埗"2023-08-20".substring(5,7); // 鎴彇"08" // 鍙傛暟1鏄紑濮嬬储寮曪紝鍙傛暟2鏄粨鏉熺储寮曪紙涓嶅寘鍚級
- 鈥?strong>鈥媔ndexOf()鈥?/strong>鈥嬶細鎵句笢瑗垮繀澶囷紝鎵句笉鍒拌繑鍥?1锛?/li>
java澶嶅埗"hello".indexOf('l'); // 杈撳嚭2 "浣犲ソ鍛€".indexOf("濂?); // 杈撳嚭1
- 鈥?strong>鈥媠plit()鈥?/strong>鈥嬶細鎷嗗瓧绗︿覆绁炲櫒锛屼絾瑕佹敞鎰忕壒娈婂瓧绗︼細
java澶嶅埗"寮犱笁,鏉庡洓,鐜嬩簲".split(","); // 杩斿洖鏁扮粍["寮犱笁","鏉庡洓","鐜嬩簲"]
- 鈥?strong>鈥媡rim()鈥?/strong>鈥嬶細涓撴不鐢ㄦ埛杈撳叆鐨勫墠鍚庣┖鏍硷細
java澶嶅埗" 鎴戞湁寰堝绌烘牸 ".trim(); // 鍙樻垚"鎴戞湁寰堝绌烘牸"
- 鈥?strong>鈥媏quals()鈥?/strong>鈥嬶細瀛楃涓叉瘮杈冨繀鐢紒鍗冧竾鍒敤==锛?/li>
java澶嶅埗new String("test").equals("test"); // true new String("test") == "test"; // false
涓夈€佽繘闃剁帺瀹剁殑楠氭搷浣?/h3>
锛堝亣瑁呰繖閲屾湁鍒嗗壊绾匡級
鈥?strong>鈥嬪満鏅?锛氬瓧绗︿覆鎷兼帴閫夊摢涓紵鈥?/strong>鈥?/p>
鏂规硶 | 閫傜敤鍦烘櫙 | 鍐呭瓨娑堣€?/th> |
---|---|---|
+鍙锋嫾鎺?/td> | 绠€鍗曞皯閲忔嫾鎺?/td> | 楂?/td> |
concat() | 纭畾鏁伴噺鐨勬嫾鎺?/td> | 涓?/td> |
StringBuffer | 澶氱嚎绋嬬幆澧冧笅鐨勯绻佷慨鏀?/td> | 浣?/td> |
StringBuilder | 鍗曠嚎绋嬬幆澧冧笅鐨勯绻佷慨鏀?/td> | 鏈€浣?/td> |
涓汉瑙傜偣锛氱幇鍦ㄩ兘2023骞翠簡锛岄櫎闈炴槑纭绾跨▼瀹夊叏锛屽惁鍒欌€?strong>鈥嬫棤鑴戦€塖tringBuilder鈥?/strong>鈥嬪噯娌¢敊銆備絾鍗冧竾鍒湪寰幆閲岀敤+鍙锋嫾鎺ワ紝閭e唴瀛樻秷鑰楄兘鍚撳摥浣狅紒
鈥?strong>鈥嬪満鏅?锛氭牸寮忓寲瀛楃涓茬殑涓夌濮垮娍鈥?/strong>鈥?/p>
java澶嶅埗// 浼犵粺娲?/span> String.format("濮撳悕:%s 骞撮緞:%d", "寮犱笁", 25); // 鏂版疆娲?/span> "鍦板潃锛?s 鐢佃瘽锛?s".formatted("鍖椾含", "13800138000"); // 鍦熻豹娲撅紙闇€瑕丣DK15+锛?/span> String html = `
${title}
`;
鍥涖€佸疄鎴樹腑鐨勮娉暀璁?/h3>
锛堝亣瑁呰繖閲屾湁鍒嗗壊绾匡級
鏈€杩戝府瀛﹀紵debug鍙戠幇涓吀鍨嬮敊璇細
java澶嶅埗// 閿欒绀鸿寖 String result = ""; for(int i=0; i<10000; i++){ result += i; // 姣忔寰幆閮絥ew鏂板璞?/span> } // 姝g‘濮垮娍 StringBuilder sb = new StringBuilder(); for(int i=0; i<10000; i++){ sb.append(i); }
杩欎箞涓€鏀癸紝鎬ц兘鐩存帴鎻愬崌50鍊嶏紒鎵€浠ュ晩锛屽鐞嗗ぇ閲忓瓧绗︿覆鎿嶄綔鏃讹紝鈥?strong>鈥嬪崈涓囪閫夊宸ュ叿鈥?/strong>鈥嬶紒
杩樻湁涓喎鐭ヨ瘑锛歋tring鐨刪ashCode()浼氱紦瀛樿绠楃粨鏋滐紝绗竴娆¤皟鐢ㄥ悗灏辨妸鍊煎瓨璧锋潵浜嗭紝鍚庨潰璋冪敤鐩存帴杩斿洖缂撳瓨鍊笺€傛墍浠ュ埆鎯崇潃鑷繁閲嶅啓hashCode()鑳芥彁楂樻€ц兘锛屼汉瀹舵棭灏变紭鍖栧埌鏋佽嚧浜嗐€?/p>
浜斻€佷釜浜烘帍蹇冪獫瀛愮殑璇?/h3>
锛堣繖閲岀洿鎺ユ敹灏撅紝涓嶇敤鎬荤粨锛?/p>
鍒氬Java閭d細鍎匡紝鎴戜篃瑙夊緱String绠€鍗曞緱寰堬紝鐩村埌鏈夋闈㈣瘯琚棶"String涓轰粈涔堣璁℃垚涓嶅彲鍙樼殑锛?锛屽綋鍦哄氨鎳典簡銆傚悗鏉ユ墠鏄庣櫧锛岃繖璁捐鏃㈣兘淇濊瘉绾跨▼瀹夊叏锛屽張鑳藉仛瀛楃涓插父閲忔睜浼樺寲锛岃繕鑳介伩鍏嶅畨鍏ㄩ棶棰橈紙姣斿鏁版嵁搴撹繛鎺ュ弬鏁拌绡℃敼锛夈€?/p>
鐜板湪鐪嬫簮鐮佸彂鐜帮紝String绫婚噷閭d釜鈥?strong>鈥媝rivate final char value[]鈥?/strong>鈥嬫墠鏄叧閿€傛墍浠ュ晩锛岀悊瑙e簳灞傝璁℃瘮姝昏纭儗鏂规硶鏇撮噸瑕併€傛渶鍚庨€佸ぇ瀹跺彞璇濓細"瀛楃涓插鐞嗙湅浼肩畝鍗曪紝浣嗚兘鎶奡tring鐜╁嚭鑺辩殑绋嬪簭鍛橈紝鎵嶆槸鐪熼珮鎵嬶紒"
本文由嘻道妙招独家原创,未经允许,严禁转载