为什么突然会去看研究 trim() 方法,这是因为昨天因为这个写了个大BUG \捂脸,可能有很多人跟我一样,传说中的 trim() 是去除前后空格,而实际的 trim() 到底是起着什么作用呢?
首先我们来看一下这块的源码:
原本我一直以为trim() 仅仅只是去除前后空格,实际上清除前后ASCII码小余等于【空格】的所有字符,也就是截图中标红的这部分内容:
至于为什么StringBuffer此时的length为什么是33,这是由于StringBuffer扩容机制的问题,length默认[16]: