1. strip方法源码解析

    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剥离方法源码详解相关推荐

  1. 微信小程序中一行2个图片排版源码详解

    文章目录 效果图 一.wxml页面代码如下: 二.wxss样式代码如下: 三. js数据代码 效果图 一.wxml页面代码如下: <view class="schoollist&quo ...

  2. java的String类源码详解

    java的String类源码详解 类的定义 public final class Stringimplements java.io.Serializable, Comparable<String ...

  3. java的数组与Arrays类源码详解

    java的数组与Arrays类源码详解 java.util.Arrays 类是 JDK 提供的一个工具类,用来处理数组的各种方法,而且每个方法基本上都是静态方法,能直接通过类名Arrays调用. 类的 ...

  4. java源码详解——String类

    java源码详解--String类目录: Java String 类 下面开始介绍主要方法: Java charAt() 方法 Java compareTo() 方法 int compareTo(St ...

  5. 基于JAVA计算机类专业考研交流学习平台计算机毕业设计源码+数据库+lw文档+系统+部署

    基于JAVA计算机类专业考研交流学习平台计算机毕业设计源码+数据库+lw文档+系统+部署 基于JAVA计算机类专业考研交流学习平台计算机毕业设计源码+数据库+lw文档+系统+部署 本源码技术栈: 项目 ...

  6. 【java】LinkedList1.8源码详解

    目录 前言 概要 属性 构造方法 核心方法 get(int index) set(int index, E element) add(int index, E element) addAll(Coll ...

  7. Java源码详解之NameValuePair

    Java源码详解之NameValuePair NameValuePair仅仅是一个接口. 1. 类释义 /*** A name / value pair parameter used as an el ...

  8. 【JAVA秘籍心法篇-Spring】Spring XML解析源码详解

    [JAVA秘籍心法篇-Spring]Spring XML解析源码详解 所谓天下武功,无坚不摧,唯快不破.但有又太极拳法以快制慢,以柔克刚.武功外式有拳打脚踢,刀剑棍棒,又有内功易筋经九阳神功.所有外功 ...

  9. Java集合框架源码详解系列(一)

     写在前面:大家好!我是晴空๓.如果博客中有不足或者的错误的地方欢迎在评论区或者私信我指正,感谢大家的不吝赐教.我的唯一博客更新地址是:https://ac-fun.blog.csdn.net/.非常 ...

最新文章

  1. java fx配置_JavaFX系列-配置开发环境
  2. 如何读懂MEMS惯性器件的精度指标
  3. 天书夜读:WinDbg配置和使用基础
  4. 使用VS2013编译Lua5.3.2
  5. Java -----JVM运行时数据区
  6. 计算机系统怎么算页面大小,电脑网页的设计尺寸是多少
  7. mac php mcrypt,MacOSX 10.10安装mcrypt详细教程分享
  8. 从概念到落地,中台可以解决哪些问题?怎么做?(附PPT)
  9. 晨哥真有料丨你太容易被得到了!
  10. echarts 3d地图_用Echarts绘制地图-绘制省级地图
  11. flex和java_flex和java相结合准备工作和一个实例
  12. [转载] python字符串表示方法_python字符串使用方法归纳
  13. 完美解决VB中int to short溢出问题
  14. vue-router路由的使用
  15. Codeforces 712C Memory and De-Evolution
  16. 国内各大互联网公司相关技术博客3.0版 (集合腾讯、阿里、百度、搜狐、新浪、网易、360等共29个)
  17. MindManager2022注册码-激活码-序列号相关问题解答
  18. C语言二叉树非递归遍历详解,C语言实现二叉树的递归遍历和非递归遍历
  19. 音视频系列--MediaProjection录屏生成H264和H265文件
  20. bypy更换绑定的百度云盘账户

热门文章

  1. CSMA/CA与CSMA/CD的区别
  2. vue项目接入e2e自动化测试
  3. linux项目部署、Nginx详解
  4. 主题模型LDA、NMF、LSA
  5. 性能测试连载 (7)-jmeter 压力测试中的难点解析
  6. 程序员接私活的7大利器以及建议
  7. vue3新拟态组件库开发流程——button组件源码
  8. matlab模糊系统设计 pdf,基于MATLAB的模糊控制系统设计.pdf
  9. virtualhackinglabs靶机 ANTHONY 10.12.1.113
  10. 一套完整的Android通用框架