JDK源碼之解讀String最終類的trim()方法實現原理
把目標字符串str轉換成字節數組,從左到有循環該字節數組,若為空,則繼續循環,否則,跳出循環。
從右到做循環該字節數組,若為空,則長度減一,否則,結束循環。
獲得字節數組起始非空位置和長度,組成新的字節數組,轉換成新的字符串newstr. 源碼如下:
   public String trim() {        int len = value.length;        int st = 0;        char[] val = value;    /* avoid getfield opcode */        while ((st < len) && (val[st] <= ' ')) {            st++;        }        while ((st < len) && (val[len - 1] <= ' ')) {            len--;        }        return ((st > 0) || (len < value.length)) ? substring(st, len) : this;    }博主自己重寫了下該方法:	/**		 * rewrite trim		 * @param str		 * @return		 */		PRivate static  String trim(String str){			char val[]=str.toCharArray();			int len=val.length;			int st=0;			while((st<len)&&(val[st]<=' ')){				st++;			}			while((st<len)&&(val[len-1]<=' ')){				len--;			}			return ((st>0)||(len < val.length))?str.substring(st,len):str;		}
新聞熱點
疑難解答