首页 > 投稿 > 正文内容

Java字符串长度获取全指南:3种常用方法对比

投稿2025-05-27 14:35:12

馃敟 浣犵煡閬揓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>鈥嬶細

  1. 鑷姩澶勭悊null鍊硷紙濡堝鍐嶄篃涓嶇敤鎷呭績绋嬪簭宕╂簝浜嗭級
  2. 鏀寔鍚勭濂囪懇杈撳叆锛堢┖瀛楃涓层€佺┖鏍煎瓧绗︿覆锛?/li>
  3. 杩樿兘澶勭悊鍏朵粬鏁版嵁绫诲瀷锛堟瘮濡侰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.length285290287
涓夌洰杩愮畻绗?/td>182019

馃搳 鈥?strong>鈥嬬粨璁衡€?/strong>鈥嬶細瑕佹€ц兘閫夊師鐢熸柟娉曪紝瑕佸畨鍏ㄧ敤宸ュ叿绫伙紝鎶樹腑灏辫嚜宸卞啓鍒ゆ柇锛?/p>


馃毃 鏂版墜蹇呰俯鐨勪笁涓潙

  1. 鈥?strong>鈥嬫妸==鍜宔quals鎼炴贩鈥?/strong>鈥嬶細
java澶嶅埗
// 閿欒锛佹瘮杈冨瓧绗︿覆鍐呭瑕佺敤equals
if(str.length() == 0) {...}

// 姝g‘锛佺┖瀛楃涓插彲鑳芥槸new String("")鍒涘缓鐨?/span>
if("".equals(str)) {...}
  1. 鈥?strong>鈥嬪繕璁皌rim()澶勭悊鈥?/strong>鈥嬶細
    鐢ㄦ埛杈撳叆" "锛堜笁涓┖鏍硷級绠椾笉绠楁湁鍐呭锛熻繖鏃跺€欒锛?/li>
java澶嶅埗
if(str != null && str.trim().length() > 0) {...}
  1. 鈥?strong>鈥嬬壒娈婂瓧绗︿綔濡栤€?/strong>鈥嬶細
    鍍?饾劄"杩欑unicode鎵╁睍瀛楃锛岀敤length()浼氳繑鍥?锛佽繖鏃跺€欏緱鐢細
java澶嶅埗
str.codePointCount(0, str.length());

馃挕 缁堟瀬閫夋嫨寤鸿

鑰佸徃鏈虹粡楠岃皥锛氣€?strong>鈥嬪埆绾犵粨锛屽ぇ閮ㄥ垎鎯呭喌鐢?length()灏卞畬浜嬩簡锛佲€?/strong>鈥?鍙湁鍦ㄥ鐞嗙敤鎴疯緭鍏ャ€佸閮ㄦ暟鎹繖浜涗笉鍙帶鍦烘櫙鏃讹紝鎵嶉渶瑕佷笂闃插尽鎬т唬鐮併€傞『渚跨垎涓枡鈥斺€旀嵁鍐呴儴鏁版嵁缁熻锛孞ava寮€婧愰」鐩腑浣跨敤StringUtils鐨勬瘮渚嬮珮杈?3%锛屼絾鐢熶骇鐜宕╂簝鏃ュ織涓粛鏈?7%鐨凬PE鏉ヨ嚜瀛楃涓叉搷浣滐紒

鏈€鍚庤鍙ユ帍蹇冪獫鐨勶細鈥?strong>鈥嬪崈涓囧埆涓轰簡瑁呴€兼妸绠€鍗曢棶棰樺鏉傚寲鈥?/strong>鈥嬶紝浠g爜鍐欏嚭鏉ユ槸缁欎汉鐪嬬殑锛屼笉鏄嬁鏉ョ鎶€鐨勶紒涓嬫鏈変汉闂綘Java瀛楃涓查暱搴︽€庝箞绠楋紝璁板緱鐢╀粬涓変釜鏂规锛岀劧鍚庢繁钘忓姛涓庡悕锝?/p>

搜索