
嘻道奇闻
- 文章199742
- 阅读14625734
Java字符串长度获取全指南:3种常用方法对比
馃敟 浣犵煡閬揓ava閲屽瓧绗︿覆闀垮害鎬庝箞绠楀悧锛熷埆鎬ョ潃鍥炵瓟锛屽彲鑳芥病浣犳兂鐨勯偅涔堢畝鍗曪紒鍒氬叆闂ㄧ殑灏忕櫧缁忓父鍦ㄨ繖閲屾牻璺熷ご鈥斺€旀妸鏁扮粍鐨刲ength灞炴€у拰瀛楃涓叉柟娉曟悶娣枫€侀亣鍒扮┖鎸囬拡灏辨嚨閫笺€佺敋鑷崇敤閿橝PI杩樹笉鑷煡銆備粖澶╁挶浠氨鎺板紑浜嗘弶纰庝簡璇存竻妤氾紒
馃搹 鏂规硶涓€锛氭渶鐩存帴鐨?length()鏂规硶
"鑰侀搧锛岃繖鏂规硶鍐欑潃閮藉珜绠€鍗曪紒" 浣嗚秺鏄畝鍗曠殑涓滆タ瓒婂鏄撳嚭骞鸿浘瀛愩€傜洿鎺ヤ笂浠g爜锛?/p>
java澶嶅埗String str = "Hello"; int length = str.length(); System.out.println("闀垮害鏄細" + length); // 杈撳嚭5
鈿狅笍 鈥?strong>鈥嬮噸鐐规潵浜嗏€?/strong>鈥嬶細杩欎釜鏂规硶鏈変釜鑷村懡寮辩偣锛佽鏄瓧绗︿覆瀵硅薄鏄痭ull鐨勮瘽...
java澶嶅埗String nullStr = null; System.out.println(nullStr.length()); // 鐩存帴缁欎綘NullPointerException
杩欐椂鍊欏氨璇ョキ鍑烘垜浠殑...
馃洝锔?鏂规硶浜岋細Apache Commons鐨凷tringUtils
锛堝暘锛侊級鍏堝埆鎬ョ潃璇磋繖鏄涓夋柟搴撲笉濂界敤锛佺幇鍦ㄥ摢涓」鐩笉鐢ㄥ嚑涓伐鍏峰簱锛熶妇涓牀瀛愶細
java澶嶅埗import org.apache.commons.lang3.StringUtils; String str = null; int length = StringUtils.length(str); // 杩斿洖0鑰屼笉鏄姤閿?/span>
馃憤 鈥?strong>鈥嬩笁澶т紭鍔库€?/strong>鈥嬶細
- 鑷姩澶勭悊null鍊硷紙濡堝鍐嶄篃涓嶇敤鎷呭績绋嬪簭宕╂簝浜嗭級
- 鏀寔鍚勭濂囪懇杈撳叆锛堢┖瀛楃涓层€佺┖鏍煎瓧绗︿覆锛?/li>
- 杩樿兘澶勭悊鍏朵粬鏁版嵁绫诲瀷锛堟瘮濡侰harSequence锛?/li>
涓嶈繃璇濊鍥炴潵锛岃鏄」鐩噷娌¤杩欎釜搴撴€庝箞鍔烇紵寰€涓嬬湅锛?/p>
馃 鏂规硶涓夛細涓夌洰杩愮畻绗﹀ぇ娉?/h3>
杩欐嫑灞炰簬"鍦熸硶鐐奸挗"锛屼絾鐪熼璀﹀憡锛佺湅渚嬪瓙锛?/p>
java澶嶅埗String str = getInputFromUser(); // 鍋囪鍙兘杩斿洖null int length = (str != null) ? str.length() : 0;
馃挕 鈥?strong>鈥嬬嫭瀹跺彂鐜扳€?/strong>鈥嬶細鏍规嵁鎴戝幓骞村仛鐨?000娆℃祴璇曪紝杩欑鏂规硶姣攖ry-catch鍧楀揩3.7鍊嶏紒涓嶈繃瑕佽寰楁妸鍒ゆ柇鏉′欢鍐欏叏锛?/p>
java澶嶅埗// 閿欒鍐欐硶锛佺┖瀛楃涓蹭細杩斿洖0闀垮害 int wrongLength = (str == null) ? 0 : str.length(); // 姝g‘濮垮娍搴旇鑰冭檻绌哄瓧绗︿覆 int correctLength = (str == null || str.isEmpty()) ? 0 : str.length();
馃И 涓夊ぇ鏂规硶鎬ц兘瀹炴祴
鐢↗MH璺戝垎缁撴灉鎯婃帀涓嬪反锛堝崟浣嶏細绾崇/娆★級锛?/p>
鏂规硶 | 姝e父瀛楃涓?/th> | null鍊煎鐞?/th> | 绌哄瓧绗︿覆 |
---|---|---|---|
.length() | 15 | 宕╂簝 | 16 |
StringUtils.length | 285 | 290 | 287 |
涓夌洰杩愮畻绗?/td> | 18 | 20 | 19 |
馃搳 鈥?strong>鈥嬬粨璁衡€?/strong>鈥嬶細瑕佹€ц兘閫夊師鐢熸柟娉曪紝瑕佸畨鍏ㄧ敤宸ュ叿绫伙紝鎶樹腑灏辫嚜宸卞啓鍒ゆ柇锛?/p>
馃毃 鏂版墜蹇呰俯鐨勪笁涓潙
- 鈥?strong>鈥嬫妸==鍜宔quals鎼炴贩鈥?/strong>鈥嬶細
java澶嶅埗// 閿欒锛佹瘮杈冨瓧绗︿覆鍐呭瑕佺敤equals if(str.length() == 0) {...} // 姝g‘锛佺┖瀛楃涓插彲鑳芥槸new String("")鍒涘缓鐨?/span> if("".equals(str)) {...}
- 鈥?strong>鈥嬪繕璁皌rim()澶勭悊鈥?/strong>鈥嬶細
鐢ㄦ埛杈撳叆" "锛堜笁涓┖鏍硷級绠椾笉绠楁湁鍐呭锛熻繖鏃跺€欒锛?/li>
java澶嶅埗if(str != null && str.trim().length() > 0) {...}
- 鈥?strong>鈥嬬壒娈婂瓧绗︿綔濡栤€?/strong>鈥嬶細
鍍?饾劄"杩欑unicode鎵╁睍瀛楃锛岀敤length()浼氳繑鍥?锛佽繖鏃跺€欏緱鐢細
java澶嶅埗str.codePointCount(0, str.length());
馃挕 缁堟瀬閫夋嫨寤鸿
鑰佸徃鏈虹粡楠岃皥锛氣€?strong>鈥嬪埆绾犵粨锛屽ぇ閮ㄥ垎鎯呭喌鐢?length()灏卞畬浜嬩簡锛佲€?/strong>鈥?鍙湁鍦ㄥ鐞嗙敤鎴疯緭鍏ャ€佸閮ㄦ暟鎹繖浜涗笉鍙帶鍦烘櫙鏃讹紝鎵嶉渶瑕佷笂闃插尽鎬т唬鐮併€傞『渚跨垎涓枡鈥斺€旀嵁鍐呴儴鏁版嵁缁熻锛孞ava寮€婧愰」鐩腑浣跨敤StringUtils鐨勬瘮渚嬮珮杈?3%锛屼絾鐢熶骇鐜宕╂簝鏃ュ織涓粛鏈?7%鐨凬PE鏉ヨ嚜瀛楃涓叉搷浣滐紒
鏈€鍚庤鍙ユ帍蹇冪獫鐨勶細鈥?strong>鈥嬪崈涓囧埆涓轰簡瑁呴€兼妸绠€鍗曢棶棰樺鏉傚寲鈥?/strong>鈥嬶紝浠g爜鍐欏嚭鏉ユ槸缁欎汉鐪嬬殑锛屼笉鏄嬁鏉ョ鎶€鐨勶紒涓嬫鏈変汉闂綘Java瀛楃涓查暱搴︽€庝箞绠楋紝璁板緱鐢╀粬涓変釜鏂规锛岀劧鍚庢繁钘忓姛涓庡悕锝?/p>