首页 > 学院 > 开发设计 > 正文

JDK源码之解读String最终类的trim()方法实现原理

2019-11-10 20:44:35
字体:
来源:转载
供稿:网友

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;		}


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表