鐏甸瓊鎷烽棶锛氫负浠�涔� Java 瀛楃涓叉槸涓嶅彲鍙樼殑锛�

鍦ㄩ�� programcreek 鐨勬椂鍊欙紝鍙戠幇浜嗕竴浜涚簿濡欑粷浼︾殑涓婚銆傛瘮濡傝锛氫负浠�涔� Java 瀛楃涓叉槸涓嶅彲鍙樼殑锛熷儚杩欑被鐏甸瓊鎷烽棶鐨勪富棰橈紝闈炲父鍊煎緱娣辨�濄��

瀵逛簬缁濆ぇ澶氭暟鐨勫垵绾х▼搴忓憳鏉ヨ锛屽線寰�鍋滅暀鍦ㄢ�滅煡鍏剁劧涓嶇煡鍏舵墍浠ョ劧鈥濈殑灞傞潰涓娾�斺�斾細鐢紝浣嗚璇村簳灞傜殑鍘熺悊锛屽彲灏卞彧鑳芥尃鎸犲ご鍙屾墜涓�鎽婁竴寮犻棶鍙疯劯浜嗐��

寰堥暱涓�娈垫椂闂村唴锛�鎴�涔熶竴鐩村浜庤繖绉嶅眰闈笂銆傚鑷寸殑灞�闈㈠氨鏄紝鎴戝湪鎸栦竴浜涢珮娣辩偣鐨勬妧鏈柟妗堟椂锛屽線寰�鏉熸墜鏃犵瓥锛涘湪璇讳竴浜涢珮娣辩偣鐨勬妧鏈枃绔犳椂锛屽線寰�鐞嗚В涓嶄簡浣滆�呭湪璇翠粈涔堛��

鍊熸鏈轰細锛屾垜灏卞拰澶у涓�璧凤紝瀵光�滀负浠�涔� Java 瀛楃涓叉槸涓嶅彲鍙樼殑鈥濊繘琛屼竴娆℃繁鍏ュ湴鐮旂┒銆傛敞鎰忎簡锛屽噯澶囨墦鎬崌绾т簡锛�

01銆佸浘鏂囧垎鏋�

鏉ョ湅涓嬮潰杩欒浠g爜銆�

String alita = "闃夸附濉�";

杩欒浠g爜鍦ㄥ瓧绗︿覆甯搁噺姹犱腑鍒涘缓浜嗕竴涓唴瀹逛负鈥滈樋涓藉鈥濈殑瀵硅薄锛屽苟灏嗗叾璧嬪�肩粰浜嗗瓧绗︿覆鍙橀噺 alita锛堝瓨鍌ㄧ殑鏄瓧绗︿覆瀵硅薄"闃夸附濉�"鐨勫紩鐢級銆傚涓嬪浘鎵�绀恒��

鐏甸瓊鎷烽棶锛氫负浠�涔� Java 瀛楃涓叉槸涓嶅彲鍙樼殑锛�_第1张图片

鍐嶆潵鐪嬩笅闈㈣繖琛屼唬鐮併��

String wanger = alita;

杩欒浠g爜灏嗗瓧绗︿覆鍙橀噺 alita 璧嬪�肩粰浜嗗瓧绗︿覆鍙橀噺 wanger銆傝繖鏃跺�欙紝wanger 鍜� alita 瀛樺偍鐨勬槸鍚屼竴涓瓧绗︿覆瀵硅薄鐨勫紩鐢ㄣ�傚涓嬪浘鎵�绀恒��

鐏甸瓊鎷烽棶锛氫负浠�涔� Java 瀛楃涓叉槸涓嶅彲鍙樼殑锛�_第2张图片

鍐嶆潵鐪嬩笅闈㈣繖琛屼唬鐮併��

alita = "鎴樻枟澶╀娇".concat(alita);

杩欒浠g爜灏嗗瓧绗︿覆鈥滄垬鏂楀ぉ浣库�濇嫾鎺ュ湪瀛楃涓插彉閲� alita 鐨勫墠闈紝骞堕噸鏂拌祴鍊肩粰 alita銆傝繖涓繃绋嬪氨姣斾箣鍓嶇殑澶嶆潅浜嗐�傛垜浠渶瑕佸厛鏉ョ湅鐪� concat() 鏂规硶鍋氫簡浠�涔堬紝婧愮爜濡備笅鎵�绀恒��

public String concat(String str) {
    int otherLen = str.length();
    if (otherLen == 0) {
        return this;
    }
    int len = value.length;
    char buf[] = Arrays.copyOf(value, len + otherLen);
    str.getChars(buf, len);
    return new String(buf, true);
}

鍙互鐪嬪緱鍑猴紝"鎴樻枟澶╀娇".concat(alita) 杩欒浠g爜浼氬厛鍦ㄥ瓧绗︿覆甯搁噺姹犱腑鍒涘缓涓�涓柊鐨勫瓧绗︿覆瀵硅薄锛屽唴瀹逛负鈥滄垬鏂楀ぉ浣库�濓紝鐒跺悗 concat() 鏂规硶浼氬皢鍏跺搴旂殑瀛楃鏁扮粍鍜屸�滈樋涓藉鈥濆搴旂殑瀛楃鏁扮粍澶嶅埗鍒颁竴涓柊鐨勫瓧绗︽暟缁� buf 涓紝鏈�鍚庯紝鍐嶉�氳繃 new 鍏抽敭瀛楀垱寤轰簡涓�涓柊鐨勫瓧绗︿覆瀵硅薄锛屽苟杩斿洖銆傚涓嬪浘鎵�绀恒��

鐏甸瓊鎷烽棶锛氫负浠�涔� Java 瀛楃涓叉槸涓嶅彲鍙樼殑锛�_第3张图片

浠庝笂鍥句腑鍙互寰楀嚭缁撹锛宎lita 姝ゆ椂寮曠敤鐨勬槸鍦ㄥ爢涓柊鍒涘缓鐨勫瓧绗︿覆瀵硅薄銆�

02銆佸璞″拰瀵硅薄寮曠敤

鍙兘鏈変簺璇昏�呯湅瀹屼笂闈㈢殑鍥炬枃鍒嗘瀽娌℃湁鐞嗚В鍙嶈�屾洿鐤戞儜浜嗭細alita 涓嶆槸鍙樹簡鍚楋紵浠庘�滈樋涓藉鈥濆彉涓衡�滄垬鏂楀ぉ浣块樋涓藉鈥濓紵鎬庝箞杩樿瀛楃涓叉槸涓嶅彲鍙樼殑鍛紵

杩欓噷闇�瑕佺粰澶у瑙i噴涓�涓嬶紝浠�涔堟槸瀵硅薄锛屼粈涔堟槸瀵硅薄寮曠敤銆�

鍦� Java 涓紝鐢变簬涓嶈兘鐩存帴鎿嶄綔瀵硅薄鏈韩锛屾墍浠ュ氨鏈変簡瀵硅薄寮曠敤杩欎釜姒傚康锛屽璞″紩鐢ㄥ瓨鍌ㄧ殑鏄璞″湪鍐呭瓨涓殑鍦板潃銆�

PS锛欽ava 铏氭嫙鏈哄湪鎵ц绋嬪簭鐨勮繃绋嬩腑浼氭妸鍐呭瓨鍖哄煙鍒掑垎涓鸿嫢骞蹭釜涓嶅悓鐨勬暟鎹尯鍩燂紝濡備笅鍥炬墍绀恒��

鐏甸瓊鎷烽棶锛氫负浠�涔� Java 瀛楃涓叉槸涓嶅彲鍙樼殑锛�_第4张图片

瀵硅薄瀛樺偍鍦ㄥ爢锛坔eap锛変腑锛岃�屽璞$殑寮曠敤瀛樺偍鍦ㄦ爤锛坰tack锛変腑銆�

鎴戜滑閫氬父鎵�璇寸殑鈥滃瓧绗︿覆鏄笉鍙彉鐨勨�濇槸鎸団�滃瓧绗︿覆瀵硅薄鏄笉鍙彉鐨勨�濄�俛lita 鏄瓧绗︿覆瀵硅薄鈥滈樋涓藉鈥濇垨鑰呪�滄垬鏂楀ぉ浣块樋涓藉鈥濈殑寮曠敤銆傝繖涓嬪簲璇ユ槑鐧戒簡鍚э紵

03銆佹簮鐮佸垎鏋�

鎴戜滑鏉ョ湅涓�涓� String 绫荤殑閮ㄥ垎婧愮爜銆�

public final class String
    implements java.io.Serializable, Comparable, CharSequence {
    /** The value is used for character storage. */
    private final char value[];
}

鍙互鐪嬪緱鍑猴紝 String 绫诲叾瀹炴槸閫氳繃鎿嶄綔瀛楃鏁扮粍 value 瀹炵幇鐨勩�傝�� value 鏄� private 鐨勶紝涔熸病鏈夋彁渚� serValue() 杩欐牱鐨勬柟娉曡繘琛屼慨鏀癸紱鍐典笖 value 杩樻槸 final 鐨勶紝鎰忓懗鐫� value 涓�鏃﹁鍒濆鍖栵紝灏辨棤娉曡繘琛屾敼鍙樸��

鍙﹀鍛紝String 绫绘彁渚涚殑鏂规硶锛屾瘮濡傝 substring()锛�

public String substring(int beginIndex) {
    int subLen = value.length - beginIndex;
    return (beginIndex == 0) ? this : new String(value, beginIndex, subLen);
}

toLowerCase()锛�

public String toLowerCase(Locale locale) {
    return new String(result, 0, len + resultOffset);
}

杩樻湁涔嬪墠鎻愬埌鐨� concat()锛岀湅浼奸兘鑳芥敼鍙樺瓧绗︿覆鐨勫唴瀹癸紝浣嗗叾瀹為兘鏄湪鏂规硶鍐呴儴浣跨敤 new 鍏抽敭瀛楅噸鏂板垱寤虹殑鏂板瓧绗︿覆瀵硅薄銆�

04銆佷负浠�涔堣涓嶅彲鍙�

String 绫荤殑婧愮爜涓繕鏈変竴涓噸瑕佺殑瀛楁 hash锛岀敤鏉ヤ繚瀛樺瓧绗︿覆瀵硅薄鐨� hashCode銆�

public final class String
    implements java.io.Serializable, Comparable, CharSequence {

    /** Cache the hash code for the string */
    private int hash; // Default to 0

    public int hashCode() {
        int h = hash;
        if (h == 0 && value.length > 0) {
            char val[] = value;

            for (int i = 0; i < value.length; i++) {
                h = 31 * h + val[i];
            }
            hash = h;
        }
        return h;
    }
}

鍥犱负瀛楃涓叉槸涓嶅彲鍙樼殑锛屾墍浠ヤ竴鏃﹁鍒涘缓锛屽畠鐨� hash 鍊煎氨涓嶄細鍐嶆敼鍙樹簡銆傜敱姝ゅ瓧绗︿覆闈炲父閫傚悎浣滀负 HashMap 鐨� key 鍊硷紝杩欐牱鍙互鏋佸ぇ鍦版彁楂樻晥鐜囥��

鍙﹀鍛紝涓嶅彲鍙樺璞″ぉ鐢熸槸绾跨▼瀹夊叏鐨勶紝鍥犳瀛楃涓插彲浠ュ湪澶氫釜绾跨▼涔嬮棿鍏变韩銆�

涓句釜鍙嶉潰鐨勪緥瀛愶紝鍋囧瀛楃涓叉槸鍙彉鐨勶紝閭d箞鏁版嵁搴撶殑鐢ㄦ埛鍚嶅拰瀵嗙爜锛堝瓧绗︿覆褰㈠紡鑾峰緱鏁版嵁搴撹繛鎺ワ級灏嗕笉鍐嶅畨鍏紝涓�浜涢珮鎵嬪彲浠ラ殢鎰忕鏀癸紝浠庤�屽鑷翠弗閲嶇殑瀹夊叏闂銆�

05銆佹渶鍚�

鎬荤粨涓�涓嬶紝瀛楃涓蹭竴鏃﹀湪鍐呭瓨涓鍒涘缓锛屽氨鏃犳硶琚洿鏀广�係tring 绫荤殑鎵�鏈夋柟娉曢兘涓嶄細鏀瑰彉瀛楃涓叉湰韬紝鑰屾槸杩斿洖涓�涓柊鐨勫瓧绗︿覆瀵硅薄銆傚鏋滈渶瑕佷竴涓彲淇敼鐨勫瓧绗﹀簭鍒楋紝寤鸿浣跨敤 StringBuffer 鎴� StringBuilder 绫讳唬鏇� String 绫伙紝鍚﹀垯姣忔鍒涘缓鐨勫瓧鏂扮涓插璞′細瀵艰嚧 Java 铏氭嫙鏈鸿姳璐瑰ぇ閲忕殑鏃堕棿杩涜鍨冨溇鍥炴敹銆�


濂戒簡鍚勪綅璇昏�呮湅鍙嬩滑锛屼互涓婂氨鏄湰鏂囩殑鍏ㄩ儴鍐呭浜嗐��鑳界湅鍒拌繖閲岀殑閮芥槸浜烘墠锛屼簩鍝ュ繀椤昏涓轰綘鐐逛釜璧�馃憤銆傚鏋滆寰椾笉杩囩樉锛岃繕鎯崇湅鍒版洿澶氾紝鍙互鏌ョ湅鎴戠殑涓汉鍗氬銆傚彟澶栧憿锛岀粰澶у涓�涓壙璇猴紝鎴戞瘡鍛ㄩ兘浼氭洿鏂颁竴绡囥�婄▼搴忎汉鐢熴�嬪拰涓�绡� Java 鎶�鏈爤鐩稿叧鐨勬枃绔狅紝鏁鏈熷緟銆傚鏋滀綘鏈変粈涔堥棶棰橀渶瑕佹垜鐨勫府鍔╋紝鎴栬�呮兂鍠锋垜浜嗭紝娆㈣繋鐣欒█鍝熴��

鍏绘垚濂戒範鎯紒濡傛灉瑙夊緱杩欑瘒鏂囩珷鏈夌偣鐢ㄧ殑璇濓紝姹傜偣璧炪�佹眰鍏虫敞銆佹眰鍒嗕韩銆佹眰鐣欒█锛岃繖灏嗘槸鎴戝啓涓嬪幓鐨勬渶寮哄姩鍔涳紒濡傛灉澶у鎯宠绗竴鏃堕棿鐪嬪埌浜屽摜鏇存柊鐨勬枃绔狅紝鍙互鎵弿涓嬫柟鐨勪簩缁寸爜锛屽叧娉ㄦ垜鐨勫叕浼楀彿銆傛垜浠笅绡囨枃绔犺锛�

鐏甸瓊鎷烽棶锛氫负浠�涔� Java 瀛楃涓叉槸涓嶅彲鍙樼殑锛�_第5张图片

你可能感兴趣的:(鐏甸瓊鎷烽棶锛氫负浠�涔� Java 瀛楃涓叉槸涓嶅彲鍙樼殑锛�)