鍙嬫儏鎻愮ず錛氬笇鏈涘湪闃呰涔嬪墠錛屼綘宸茬粡瀵筍tring瀵硅薄鏈変簡(jiǎn)鍩虹鐨勪簡(jiǎn)瑙c傚茍涓斿凡緇忕啛鐭?綾誨瀷"銆?寮曠敤"銆?瀵硅薄"銆?瀹炰緥鍖?銆?鍫嗘爤"鍜屽叧浜嶰bject瀵硅薄鐨別quals()鏂規(guī)硶鐨勪嬌鐢ㄦ満鍒訛紝騫朵笖宸茬粡鐔熺煡String瀵硅薄瀵筫quals()鏂規(guī)硶閲嶅啓鍚庣殑浣跨敤鏈哄埗錛?/p>
棣栧厛澶у鐭ラ亾錛孲tring鏃㈠彲浠ヤ綔涓轟竴涓璞℃潵浣跨敤錛屽張鍙互浣滀負(fù)涓涓熀鏈被鍨嬫潵浣跨敤銆傝繖閲屾寚鐨勪綔涓轟竴涓熀鏈被鍨嬫潵浣跨敤鍙槸鎸囦嬌鐢ㄦ柟娉曚笂鐨勶紝姣斿String s = "Hello"錛屽畠鐨勪嬌鐢ㄦ柟娉曞鍚屽熀鏈被鍨媔nt涓鏍鳳紝姣斿int i = 1;錛岃屼綔涓轟竴涓璞℃潵浣跨敤錛屽垯鏄寚閫氳繃new鍏抽敭瀛楁潵鍒涘緩涓涓柊瀵硅薄錛屾瘮濡係tring s = new String("Hello")銆備絾鏄畠鐨勫唴閮ㄥ姩浣滃叾瀹炶繕鏄垱寤轟簡(jiǎn)涓涓璞★紝榪欑偣紼嶅悗浼?xì)璇村埌銆?/p>
鍏舵錛屽String瀵硅薄鐨勬瘮杈冩柟娉曢渶瑕佷簡(jiǎn)瑙c侸ava閲屽璞′箣闂寸殑姣旇緝鏈変袱縐嶆蹇碉紝榪欓噷鎷縎tring瀵硅薄鏉ヨ錛氫竴縐嶆槸鐢?=="鏉ユ瘮杈冿紝榪欑姣旇緝鏄拡瀵逛袱涓猄tring綾誨瀷鐨勫彉閲忕殑寮曠敤錛屼篃灝辨槸璇村鏋滀袱涓猄tring綾誨瀷鐨勫彉閲忥紝瀹冧滑鎵寮曠敤鍚屼竴涓猄tring瀵硅薄(鍗蟲寚鍚戝悓涓鍧楀唴瀛樺爢)錛屽垯"=="姣旇緝鐨勭粨鏋滄槸true銆傚彟涓縐嶆槸鐢∣bject瀵硅薄鐨別quals()鏂規(guī)硶鏉ユ瘮杈冿紝String瀵硅薄緇ф壙鑷狾bject錛屽茍涓斿equals()鏂規(guī)硶榪涜浜?jiǎn)閲嶅啓銆備袱涓猄tring瀵硅薄閫氳繃equals()鏂規(guī)硶鏉ヨ繘琛屾瘮杈冩椂錛屽叾瀹炲氨鏄String瀵硅薄鎵灝佽鐨勫瓧絎︿覆鍐呭榪涜姣旇緝錛屼篃灝辨槸璇村鏋滀袱涓猄tring瀵硅薄鎵灝佽鐨勫瓧絎︿覆鍐呭鐩稿悓(鍖呮嫭澶у皬鍐欑浉鍚?錛屽垯equals()鏂規(guī)硶灝嗚繑鍥瀟rue銆?/p>
鐜板湪寮濮嬪皢瀵筍tring瀵硅薄鐨勫垱寤哄仛鍏蜂綋鐨勫垎鏋愩?/p>
棣栧厛鐪嬩互涓嬩唬鐮佹錛?/p>
String s1 = new String("Hello");
String s2 = new String("Hello");
System.out.println(s1 == s2);
System.out.println(s1.equals(s2));
浠ヤ笂浠g爜孌電殑鎵撳嵃緇撴灉鏄細(xì)
false
true
榪欎釜緇撴灉鐩鎬俊澶у寰堝ソ鐞嗚В錛屼袱涓猄tring綾誨瀷鐨勫彉閲弒1鍜宻2閮介氳繃new鍏抽敭瀛楀垎鍒垱寤轟簡(jiǎn)涓涓柊鐨凷tring瀵硅薄錛岃繖涓猲ew鍏抽敭瀛椾負(fù)鍒涘緩鐨勬瘡涓璞″垎閰嶄竴鍧楁柊鐨勩佺嫭绔嬬殑鍐呭瓨鍫嗐傚洜姝ゅ綋閫氳繃"=="鏉ユ瘮杈冨畠浠墍寮曠敤鐨勬槸鍚︽槸鍚屼竴涓璞℃椂錛屽皢榪斿洖false銆傝岄氳繃equals()鏂規(guī)硶鏉ユ瘮杈冩椂錛屽垯榪斿洖true錛屽洜涓鴻繖涓や釜瀵硅薄鎵灝佽鐨勫瓧絎︿覆鍐呭鏄畬鍏ㄧ浉鍚岀殑銆?/p>
濂斤紝鐜板湪鎶婁笂闈㈢殑浠g爜孌典慨鏀瑰涓嬶細(xì)
String s1 = new String("Hello");
String s2 = s1;
System.out.println(s1 == s2);
System.out.println(s1.equals(s2));
浠ヤ笂浠g爜孌電殑鎵撳嵃緇撴灉鏄細(xì)
true
true
榪欎釜緇撴灉搴旇鏇村ソ鐞嗚В錛屽彉閲弒1榪樻槸閫氳繃new鍏抽敭瀛楁潵鍒涘緩浜?jiǎn)涓涓柊鐨凷tring瀵硅薄錛屼絾榪欓噷s2騫舵病鏈夐氳繃new鍏抽敭瀛楁潵鍒涘緩涓涓柊鐨凷tring瀵硅薄錛岃屾槸鐩存帴鎶妔1璧嬪肩粰浜?jiǎn)s2錛屽嵆鎶妔1鐨勫紩鐢ㄨ祴鍊肩粰浜?jiǎn)s2錛屾墍浠2鎵寮曠敤鐨勫璞″叾瀹炲氨鏄痵1鎵寮曠敤鐨勫璞°傛墍浠ラ氳繃"=="鏉ユ瘮杈冩椂錛岃繑鍥瀟rue銆傛棦鐒跺畠浠紩鐢ㄧ殑閮芥槸鍚屼竴涓璞★紝閭d箞閫氳繃equals()鏂規(guī)硶鏉ユ瘮杈冩椂錛岃偗瀹氫篃榪斿洖true錛岃繖閲宔quals()鏂規(guī)硶鍏跺疄鍦ㄥ鍚屼竴涓璞¤繘琛屾瘮杈冿紝鑷繁鑲畾絳変簬鑷繁鍜?/p>
璇村埌姝わ紝鍏跺疄搴旇娌′粈涔堝ぇ闂錛屽洜涓鴻繖浜涢兘鏄爣鍑嗙殑鍒涘緩瀵硅薄鐨勫姩浣滐紝浣嗘槸String瀵硅薄榪樻湁鍙︿竴縐嶄嬌鐢ㄦ柟娉曪紝涔熷氨鏄紑澶存墍鎻愬埌鐨勫彲浠ヤ綔涓轟竴涓熀鏈被鍨嬫潵浣跨敤錛岃鐪嬩互涓嬩唬鐮佹錛?/p>
String s = "Hello";
鐪嬪埌榪欓噷錛岀浉淇′竴浜涘垵瀛︾殑鏈嬪弸鎴栬呭String瀵硅薄榪樻病鎼炴竻妤氱殑鏈嬪弸寮濮嬬枒鎯戜簡(jiǎn)錛屼綘鑲畾浼?xì)闂Q岃繖涓嬌鐢ㄦ柟娉曞湪鍏跺唴閮ㄥ埌搴曞彂鐢熶簡(jiǎn)浠涔堬紵鍏跺疄榪欏氨鏄疭tring瀵硅薄瀹規(guī)槗娣鋒穯鐨勫叧閿紒
鍏跺疄鍦ㄥ惎鍔ㄧ▼搴忔椂錛岃櫄鎷熸満浼?xì)鍒涘晦Z竴鍧桽tring瀵硅薄鐨凷tring緙撳啿姹犮傚綋String瀵硅薄浣滀負(fù)涓涓熀鏈被鍨嬫潵浣跨敤鏃訛紝姣斿錛歋tring s = "Hello";錛岃櫄鎷熸満浼?xì)鍏堝湪杩欎釜String緙撳啿姹犲唴瀵繪壘鏄惁鏈夌浉鍚屽肩殑String瀵硅薄瀛樺湪錛屽鏋滃瓨鍦紝鍒欐妸榪欎釜String瀵硅薄鐨勫紩鐢ㄨ祴鍊肩粰s銆傚鏋滀笉瀛樺湪錛岃櫄鎷熸満浼?xì)鍏堝湪杩欎釜String緙撳啿姹犲唴鍒涘緩姝tring瀵硅薄錛岀劧鍚庢妸寮曠敤璧嬪肩粰s銆?/p>
璇村埌榪欓噷錛岀浉淇″ぇ瀹跺凡緇忓紑濮嬫槑鐧戒簡(jiǎn)銆傞偅涔堣鐪嬩笅闈㈢殑浠g爜孌碉細(xì)
String s1 = "Hello";
String s2 = "Hello";
System.out.println(s1 == s2);
System.out.println(s1.equals(s2));
浠ヤ笂浠g爜孌電殑鎵撳嵃緇撴灉鏄細(xì)
true
true
涓轟粈涔堣繖涓粨鏋滐紵閭d箞鏉ュ垎鏋愪竴涓嬨傞鍏堣繖涓や釜String瀵硅薄閮芥槸浣滀負(fù)涓涓熀鏈被鍨嬫潵浣跨敤鐨勶紝鑰屼笉鏄氳繃new鍏抽敭瀛楁潵鍒涘緩鐨勶紝鍥犳铏氭嫙鏈轟笉浼?xì)湄?fù)榪欎袱涓猄tring瀵硅薄鍒嗛厤鏂扮殑鍐呭瓨鍫嗭紝鑰屾槸鍒癝tring緙撳啿姹犱腑鏉ュ鎵俱?/p>
棣栧厛涓簊1瀵繪壘String緙撳啿姹犲唴鏄惁鏈変笌"Hello"鐩稿悓鍊肩殑String瀵硅薄瀛樺湪錛屾鏃禨tring緙撳啿姹犲唴鏄┖鐨勶紝娌℃湁鐩稿悓鍊肩殑String瀵硅薄瀛樺湪錛屾墍浠ヨ櫄鎷熸満浼?xì)鍦⊿tring緙撳啿姹犲唴鍒涘緩姝tring瀵硅薄錛屽叾鍔ㄤ綔灝辨槸new String("Hello");銆傜劧鍚庢妸姝tring瀵硅薄鐨勫紩鐢ㄨ祴鍊肩粰s1銆?/p>
鎺ョ潃涓簊2瀵繪壘String緙撳啿姹犲唴鏄惁鏈変笌"Hello"鐩稿悓鍊肩殑String瀵硅薄瀛樺湪錛屾鏃惰櫄鎷熸満鎵懼埌浜?jiǎn)涓涓笌鍏剁浉鍚屽肩殑String瀵硅薄錛岃繖涓猄tring瀵硅薄鍏跺疄灝辨槸涓簊1鎵鍒涘緩鐨凷tring瀵硅薄銆傛棦鐒舵壘鍒頒簡(jiǎn)涓涓浉鍚屽肩殑瀵硅薄錛岄偅涔堣櫄鎷熸満灝變笉鍦ㄤ負(fù)姝ゅ垱寤轟竴涓柊鐨凷tring瀵硅薄錛岃屾槸鐩存帴鎶婂瓨鍦ㄧ殑String瀵硅薄鐨勫紩鐢ㄨ祴鍊肩粰s2銆?/p>
榪欓噷鏃㈢劧s1鍜宻2鎵寮曠敤鐨勬槸鍚屼竴涓猄tring瀵硅薄錛屽嵆鑷繁絳変簬鑷繁錛屾墍浠ヤ互涓婁袱縐嶆瘮杈冩柟娉曢兘榪斿洖ture銆?/p>
鍒拌繖閲岋紝瀵筍tring瀵硅薄鐨勫熀鏈蹇靛簲璇ラ兘宸茬粡鐞嗚В浜?jiǎn)銆傜幇鍦ㄦ垜鏉ュ皬緇撲竴涓嬶細(xì)
閽堝String浣滀負(fù)涓涓熀鏈被鍨嬫潵浣跨敤錛?/p>
1銆傚鏋淪tring浣滀負(fù)涓涓熀鏈被鍨嬫潵浣跨敤錛岄偅涔堟垜浠姝tring瀵硅薄鏄疭tring緙撳啿姹犳墍鎷ユ湁鐨勩?br />2銆傚鏋淪tring浣滀負(fù)涓涓熀鏈被鍨嬫潵浣跨敤錛屽茍涓旀鏃禨tring緙撳啿姹犲唴涓嶅瓨鍦ㄤ笌鍏舵寚瀹氬肩浉鍚岀殑String瀵硅薄錛岄偅涔堟鏃惰櫄鎷熸満灝嗕負(fù)姝ゅ垱寤烘柊鐨凷tring瀵硅薄錛屽茍瀛樻斁鍦⊿tring緙撳啿姹犲唴銆?br />3銆傚鏋淪tring浣滀負(fù)涓涓熀鏈被鍨嬫潵浣跨敤錛屽茍涓旀鏃禨tring緙撳啿姹犲唴瀛樺湪涓庡叾鎸囧畾鍊肩浉鍚岀殑String瀵硅薄錛岄偅涔堟鏃惰櫄鎷熸満灝嗕笉涓烘鍒涘緩鏂扮殑String瀵硅薄錛岃岀洿鎺ヨ繑鍥炲凡瀛樺湪鐨凷tring瀵硅薄鐨勫紩鐢ㄣ?/p>
閽堝String浣滀負(fù)涓涓璞℃潵浣跨敤錛?/p>
1銆傚鏋淪tring浣滀負(fù)涓涓璞℃潵浣跨敤錛岄偅涔堣櫄鎷熸満灝嗕負(fù)姝ゅ垱寤轟竴涓柊鐨凷tring瀵硅薄錛屽嵆涓烘瀵硅薄鍒嗛厤涓鍧楁柊鐨勫唴瀛樺爢錛屽茍涓斿畠騫朵笉鏄疭tring緙撳啿姹犳墍鎷ユ湁鐨勶紝鍗沖畠鏄嫭绔嬬殑銆?/p>
鐞嗚В浜?jiǎn)浠ヤ笂鍐呭鍚庡Q岃鐪嬩互涓嬩唬鐮佹錛?/p>
String s1 = "Hello";
String s2 = new String("Hello");
System.out.println(s1 == s2);
System.out.println(s1.equals(s2));
浠ヤ笂浠g爜孌電殑鎵撳嵃緇撴灉鏄細(xì)
false
true
鏍規(guī)嵁涓婇潰鐨勫皬緇撴潵榪涜鍒嗘瀽銆傜涓琛屾槸鎶奡tring浣滀負(fù)涓涓熀鏈被鍨嬫潵浣跨敤鐨勶紝鍥犳s1鎵寮曠敤鐨勫璞℃槸灞炰簬String緙撳啿姹犲唴鐨勩傚茍涓旀鏃禨tring緙撳啿姹犲唴騫舵病鏈変笌鍏跺肩浉鍚岀殑String瀵硅薄瀛樺湪錛屽洜姝よ櫄鎷熸満浼?xì)湄?fù)姝ゅ垱寤轟竴涓柊鐨凷tring瀵硅薄錛屽嵆new String("Hello");銆傜浜岃鏄妸String浣滀負(fù)涓涓璞℃潵浣跨敤鐨勶紝鍥犳s2鎵寮曠敤鐨勫璞′笉灞炰簬String緙撳啿姹犲唴鐨勶紝鍗沖畠鏄嫭绔嬬殑銆傞氳繃new鍏抽敭瀛楋紝铏氭嫙鏈轟細(xì)涓烘鍒涘緩涓涓柊鐨凷tring瀵硅薄錛屽嵆涓哄畠鍒嗛厤浜?jiǎn)涓鍧楁柊鐨勫唴瀛樺爢銆傚洜姝?=="姣旇緝鍚庣殑緇撴灉鏄痜alse錛屽洜涓簊1鍜宻2鎵寮曠敤鐨勫茍涓嶆槸鍚屼竴涓璞★紝瀹冧滑鏄嫭绔嬪瓨鍦ㄧ殑銆傝宔quals()鏂規(guī)硶鎵榪斿洖鐨勬槸true錛屽洜涓鴻繖涓や釜瀵硅薄鎵灝佽鐨勫瓧絎︿覆鍐呭鏄畬鍏ㄧ浉鍚岀殑銆?/p>
鐜板湪錛岀浉淇″ぇ瀹跺凡緇忓畬鍏ㄦ悶娓呮String瀵硅薄鏄庝箞涓鍥炰簨浜?jiǎn)锛?xì)錛変絾鏄埌姝ゅ茍娌℃湁緇撴潫錛屽洜涓篠tring瀵硅薄榪樻湁鏇存繁灞傛鐨勫簲鐢ㄣ?/p>
榪欓噷鎴戝皢鍒嗘瀽涓涓婼tring瀵硅薄鐨刬ntern()鏂規(guī)硶鐨勫簲鐢ㄣ?br />intern()鏂規(guī)硶灝嗚繑鍥炰竴涓瓧絎︿覆瀵硅薄鐨勮鑼冭〃紺烘硶錛屽嵆涓涓悓璇ュ瓧絎︿覆鍐呭鐩稿悓鐨勫瓧絎︿覆錛屼絾鏄潵鑷簬鍞竴瀛楃涓茬殑String緙撳啿姹犮傝繖鍚搗鏉ユ湁鐐規(guī)嫍鍙o紝鍏跺疄瀹冪殑鏈哄埗鏈夊浠ヤ笅浠g爜孌碉細(xì)
String s = new String("Hello");
s = s.intern();
浠ヤ笂浠g爜孌電殑鍔熻兘瀹炵幇鍙互綆鍗曠殑鐪嬫垚濡備笅浠g爜孌碉細(xì)
String s = "Hello";
浣犱竴瀹氬張寮濮嬬枒鎯戜簡(jiǎn)錛熼偅涔堜綘鍙互鍏堢湅絎簩涓唬鐮佹銆傜浜屼釜浠g爜孌電殑鎰忔濆氨鏄粠String緙撳啿姹犲唴鍙栧嚭涓涓笌鍏跺肩浉鍚岀殑String瀵硅薄鐨勫紩鐢ㄨ祴鍊肩粰s銆傚鏋淪tring緙撳啿姹犲唴娌℃湁涓庡叾鐩稿悓鍊肩殑String瀵硅薄瀛樺湪錛屽垯鍦ㄥ叾鍐呬負(fù)姝ゅ垱寤轟竴涓柊鐨凷tring瀵硅薄銆傞偅涔堢涓孌典唬鐮佺殑鎰忔濆張鏄粈涔堝憿錛熸垜浠煡閬撻氳繃new鍏抽敭瀛楁墍鍒涘緩鍑虹殑瀵硅薄錛岃櫄鎷熸満浼?xì)湄?fù)瀹冨垎閰嶄竴鍧楁柊鐨勫唴瀛樺爢銆傚鏋滃鉤鍑″湴鍒涘緩鐩稿悓鍐呭鐨勫璞★紝铏氭嫙鏈哄悓鏍蜂細(xì)涓烘鍒嗛厤璁稿鏂扮殑鍐呭瓨鍫嗭紝铏界劧瀹冧滑鐨勫唴瀹規(guī)槸瀹屽叏鐩稿悓鐨勩傛嬁String瀵硅薄鏉ヨ錛屽鏋滆繛緇垱寤?0涓浉鍚屽唴瀹圭殑String瀵硅薄(new String("Hello"))錛岄偅涔堣櫄鎷熸満灝嗕負(fù)姝ゅ垎閰?0鍧楃嫭绔嬬殑鍐呭瓨鍫嗐傚亣璁炬墍鍒涘緩鐨凷tring瀵硅薄鐨勫瓧絎︿覆鍐呭鍗佸垎澶э紝鍋囪涓涓猄tirng瀵硅薄灝佽浜?M澶у皬鐨勫瓧絎︿覆鍐呭錛岄偅涔堝鏋滄垜浠垱寤?0涓鐩稿悓String瀵硅薄鐨勮瘽錛屾垜浠皢浼?xì)姣棤鎰忎箟鐨剫躬璐?M鐨勫唴瀛樼┖闂淬傛垜浠煡閬揝tring鏄痜inal綾伙紝瀹冩墍灝佽鐨勬槸瀛楃涓插父閲忥紝鍥犳String瀵硅薄鍦ㄥ垱寤哄悗鍏跺唴閮?瀛楃涓?鍊間笉鑳芥敼鍙橈紝涔熷洜姝tring瀵硅薄鍙互琚叡浜傛墍浠ュ浜庡垰鎵嶆彁鍒扮殑鍋囪錛屾垜浠墍鍒涘緩鐨?0涓浉鍚屽唴瀹圭殑String瀵硅薄錛屽叾瀹炴垜浠彧闇涓烘鍒涘緩涓涓猄tring瀵硅薄錛岀劧鍚庤鍏跺畠String鍙橀噺鎵鍏變韓銆傝瀹炵幇榪欑鏈哄埗錛屽敮涓鐨勩佺畝鍗曠殑鏂規(guī)硶灝辨槸浣跨敤String緙撳啿姹狅紝鍥犱負(fù)String緙撳啿姹犲唴涓嶄細(xì)瀛樺湪鐩稿悓鍐呭鐨凷tring瀵硅薄銆傝宨ntern()鏂規(guī)硶灝辨槸浣跨敤榪欑鏈哄埗鐨勯斿緞銆傚湪涓涓凡瀹炰緥鍖栫殑String瀵硅薄涓婅皟鐢╥ntern()鏂規(guī)硶鍚庯紝铏氭嫙鏈轟細(xì)鍦⊿tring緙撳啿姹犲唴瀵繪壘涓庢Stirng瀵硅薄鎵灝佽鐨勫瓧絎︿覆鍐呭鐩稿悓鍊肩殑String瀵硅薄錛岀劧鍚庢妸寮曠敤璧嬪肩粰寮曠敤鍘熸潵鐨勯偅涓猄tring瀵硅薄鐨凷tring綾誨瀷鍙橀噺銆傚鏋淪tring緙撳啿姹犲唴娌℃湁涓庢String瀵硅薄鎵灝佽鐨勫瓧絎︿覆鍐呭鐩稿悓鍊肩殑String瀵硅薄瀛樺湪錛岄偅涔堣櫄鎷熸満浼?xì)湄?fù)姝ゅ垱寤轟竴涓柊鐨凷tring瀵硅薄錛屽茍鎶婂叾寮曠敤璧嬪肩粰寮曠敤鍘熸潵鐨勯偅涓猄tring瀵硅薄鐨凷tring綾誨瀷鍙橀噺銆傝繖鏍峰氨杈懼埌浜?jiǎn)鍏变韩鍚屼竴涓猄tring瀵硅薄鐨勭洰鐨勶紝鑰屽師鍏堥偅涓氳繃new鍏抽敭瀛楁墍鍒涘緩鍑虹殑String瀵硅薄灝嗚鎶涘純騫惰鍨冨溇鍥炴敹鍣ㄥ洖鏀舵帀銆傝繖鏍蜂笉浣嗛檷浣庝簡(jiǎn)鍐呭瓨鐨勪嬌鐢ㄦ秷鑰楋紝鎻愰珮浜?jiǎn)鎬ц兘錛岃屼笖鍦⊿tring瀵硅薄鐨勬瘮杈冧笂涔熷悓鏍鋒洿鏂逛究浜?jiǎn)锛屽洜湄?fù)鐩稿悓鐨凷tring瀵硅薄灝嗚鍏變韓錛屾墍浠ヨ鍒ゆ柇涓や釜String瀵硅薄鏄惁鐩稿悓錛屽垯鍙渶瑕佷嬌鐢?=="鏉ユ瘮杈冿紝鑰屾棤闇鍐嶄嬌鐢╡quals()鏂規(guī)硶鏉ユ瘮杈冿紝榪欐牱涓嶄絾浣跨敤璧鋒潵鏇存柟渚匡紝鑰屼笖涔熸彁楂樹簡(jiǎn)鎬ц兘錛屽洜涓篠tring瀵硅薄鐨別quals()鏂規(guī)硶灝嗕細(xì)瀵瑰瓧絎︿覆鍐呭鎷嗚В錛岀劧鍚庨愪釜榪涜姣旇緝錛屽鏋滃瓧絎︿覆鍐呭鍗佸垎澶х殑璇濓紝閭d箞榪欎釜姣旇緝鍔ㄤ綔鍒欏ぇ澶ч檷浣庝簡(jiǎn)鎬ц兘銆?/p>
璇村埌姝わ紝澶у鍙兘瀵瑰叿浣撳簲鐢ㄨ繕鏈夌偣妯$硦錛岄偅涔堟垜鏉ヤ婦涓畝鍗曠殑紺轟緥錛屼互渚塊槓榪頒互涓婃蹇碉細(xì)
鍋囪鏈変竴涓被錛屽畠鏈変竴涓帴鏀舵秷鎭殑鏂規(guī)硶錛岃繖涓柟娉曡褰曠敤鎴蜂紶鏉ョ殑娑堟伅(鍋囪娑堟伅鍐呭鍙兘杈冨ぇ錛屽茍涓旈噸澶嶇巼杈冮珮)錛屽茍涓旀妸娑堟伅鎸夋帴鏀墮『搴忚褰曞湪涓涓垪琛ㄤ腑銆傛垜鎯蟲湁浜涙湅鍙嬩細(xì)榪欐牱璁捐錛?/p>
import java.util.*;
public class Messages {
ArrayList messages = new ArrayList();
public void record(String msg) {
messages.add(msg);
}
public List getMessages() {
return messages;
}
}
榪欑璁捐鏂規(guī)濂藉悧錛熷亣璁炬垜浠噸澶嶇殑鍙戦佺粰record()鏂規(guī)硶鍚屼竴涓秷鎭?娑堟伅鏉ヨ嚜涓嶅悓鐨勭敤鎴鳳紝鎵浠ュ彲浠ヨ姣忎釜娑堟伅涓轟竴涓猲ew String("..."))錛屽茍涓旀秷鎭唴瀹硅緝澶э紝閭d箞榪欎釜璁捐灝嗕細(xì)澶уぇ嫻垂鍐呭瓨絀洪棿錛屽洜涓烘秷鎭垪琛ㄤ腑璁板綍鐨勯兘鏄柊鍒涘緩鐨勩佺嫭绔嬬殑String瀵硅薄錛岃櫧鐒跺畠浠殑鍐呭閮界浉鍚屻傞偅涔堟庝箞鏍峰彲浠ュ鍏惰繘琛屼紭鍖栧憿錛屽叾瀹炲緢綆鍗曪紝璇風(fēng)湅濡備笅浼樺寲鍚庣殑紺轟緥錛?/p>
import java.util.*;
public class Messages {
ArrayList messages = new ArrayList();
public void record(String msg) {
messages.add(msg.intern());
}
public List getMessages() {
return messages;
}
}
姝e浣犳墍鐪嬪埌鐨勶紝鍘熷厛record()鏂規(guī)硶涓殑messages.add(msg);浠g爜孌靛彉鎴愪簡(jiǎn)messages.add(msg.intern());錛屼粎浠呭msg鍙傛暟璋冪敤浜?jiǎn)intern()鏂規(guī)硶錛岃繖鏍峰皢瀵歸噸澶嶇殑娑堟伅榪涜鍏變韓鏈哄埗錛屼粠鑰岄檷浣庝簡(jiǎn)鍐呭瓨娑堣楋紝鎻愰珮浜?jiǎn)鎬ц兘銆?/p>
榪欎釜渚嬪瓙鐨勭‘鏈夌偣鐗靛己錛屼絾鏄繖閲屽彧鏄負(fù)浜?jiǎn)闃悩q頒互涓婃蹇碉紒
鑷蟲錛孲tring瀵硅薄鐨勮糠闆鵑兘琚秷闄や簡(jiǎn)錛屽ぇ瀹跺彧瑕佺墷璁拌繖浜涙蹇碉紝浠ュ悗鍐嶅鏉傜殑String搴旂敤閮藉彲浠ュ緩绔嬪湪姝ゅ熀紜涓婃潵榪涜鍒嗘瀽銆?