(十三)Java工具类StringUtils中strip、stripStart、stripEnd剥离方法源码详解
2018-01-26 10:50
375 查看
1. strip方法源码解析
源码解析:调用strip方法,参数是字符串str、剥离的字符是null;该方法主要的作用就是去除掉字符串两边的空白符,跟trim(Stirng str)的方法一样;
源码详解:该方法首先会判断字符串是否是空串,如果是直接返回空串(null或者“”或者tab键),false,会调用去除字符串start部分的空串和要剥离的字符方法,然后调用去除字符串end部分的空串和要剥离的字符方法;
源码详解:stripChars为null,会使用Character.isWhitespace剥离start和end处的空白符,stripChars为空串直接返回空串,stripChars不为空取到要剥离字符后的字符串的开始索引位置,并返回字符串;
源码详解:stripChars为null,会使用Character.isWhitespace剥离start和end的空白符,stripChars为空串直接返回空串,stripChars不为空取到要剥离的字符后字符串的结束索引位置,并返回字符串;
public static String strip(String str) { return strip(str, null); }
源码解析:调用strip方法,参数是字符串str、剥离的字符是null;该方法主要的作用就是去除掉字符串两边的空白符,跟trim(Stirng str)的方法一样;
public static String strip(String str, String stripChars) { if (isEmpty(str)) { return str; } str = stripStart(str, stripChars); return stripEnd(str, stripChars); }
public static String strip(String str, String stripChars) { if (isEmpty(str)) { return str; } str = stripStart(str, stripChars); return stripEnd(str, stripChars); }
源码详解:该方法首先会判断字符串是否是空串,如果是直接返回空串(null或者“”或者tab键),false,会调用去除字符串start部分的空串和要剥离的字符方法,然后调用去除字符串end部分的空串和要剥离的字符方法;
public static String stripStart(String str, String stripChars) { int strLen; if ((str == null) || ((strLen = str.length()) == 0)) return str; int strLen; int start = 0; if (stripChars == null) { while ((start != strLen) && (Character.isWhitespace(str.charAt(start)))) start++; } if (stripChars.isEmpty()) { return str; } while ((start != strLen) && (stripChars.indexOf(str.charAt(start)) != -1)) { start++; } return str.substring(start); }
源码详解:stripChars为null,会使用Character.isWhitespace剥离start和end处的空白符,stripChars为空串直接返回空串,stripChars不为空取到要剥离字符后的字符串的开始索引位置,并返回字符串;
public static String stripEnd(String str, String stripChars) { int end; if ((str == null) || ((end = str.length()) == 0)) { return str; } int end; if (stripChars == null) { while ((end != 0) && (Character.isWhitespace(str.charAt(end - 1)))) end--; } if (stripChars.isEmpty()) { return str; } while ((end != 0) && (stripChars.indexOf(str.charAt(end - 1)) != -1)) { end--; } return str.substring(0, end); }
源码详解:stripChars为null,会使用Character.isWhitespace剥离start和end的空白符,stripChars为空串直接返回空串,stripChars不为空取到要剥离的字符后字符串的结束索引位置,并返回字符串;
相关文章推荐
- (十三)Java工具类StringUtils中strip、stripStart、stripEnd剥离方法源码详解
- (十三)Java工具类StringUtils中strip、stripStart、stripEnd剥离方法源码详解
- (十三)Java工具类StringUtils中strip、stripStart、stripEnd剥离方法源码详解
- (十三)Java工具类StringUtils中strip、stripStart、stripEnd剥离方法源码详解
- (十三)Java工具类StringUtils中strip、stripStart、stripEnd剥离方法源码详解
- (十三)Java工具类StringUtils中strip、stripStart、stripEnd剥离方法源码详解
- (十三)Java工具类StringUtils中strip、stripStart、stripEnd剥离方法源码详解
- (十三)Java工具类StringUtils中strip、stripStart、stripEnd剥离方法源码详解
- (十三)Java工具类StringUtils中strip、stripStart、stripEnd剥离方法源码详解
- (十三)Java工具类StringUtils中strip、stripStart、stripEnd剥离方法源码详解
- (十三)Java工具类StringUtils中strip、stripStart、stripEnd剥离方法源码详解
- (十三)Java工具类StringUtils中strip、stripStart、stripEnd剥离方法源码详解
- (十三)Java工具类StringUtils中strip、stripStart、stripEnd剥离方法源码详解
- (十三)Java工具类StringUtils中strip、stripStart、stripEnd剥离方法源码详解
- (十三)Java工具类StringUtils中strip、stripStart、stripEnd剥离方法源码详解
- (十三)Java工具类StringUtils中strip、stripStart、stripEnd剥离方法源码详解
- (十三)Java工具类StringUtils中strip、stripStart、stripEnd剥离方法源码详解
- (十三)Java工具类StringUtils中strip、stripStart、stripEnd剥离方法源码详解
- (十三)Java工具类StringUtils中strip、stripStart、stripEnd剥离方法源码详解
- (十三)Java工具类StringUtils中strip、stripStart、stripEnd剥离方法源码详解