您的位置:首页 > 财经 > 产业 > 招标_北京商场疫情防控最新政策_推广学院seo教程_宁波seo网站推广

招标_北京商场疫情防控最新政策_推广学院seo教程_宁波seo网站推广

2025/2/26 15:44:38 来源:https://blog.csdn.net/crazestone0614/article/details/142861161  浏览:    关键词:招标_北京商场疫情防控最新政策_推广学院seo教程_宁波seo网站推广
招标_北京商场疫情防控最新政策_推广学院seo教程_宁波seo网站推广

    JAVA类里面 trim() 方法大家都比较熟悉,就是用来清除掉字符串首尾的空白字符。但在一次程序运行崩溃后,查找具体原因时,发现是由字符串末尾的一个回车符号 "\r" 所导致的。于是有机会仔细读了下该方法的 java 文档说明。其中一段内容如下:

Returns a string whose value is this string, with all leading and trailing space removed, where space is defined as any character whose codepoint is less than or equal to 'U+0020' (the space character).

    这段代码的大意是,去除首尾的空白字符,代表空白字符的 codepoint 需要小于或者等于 'U+0020''U+0020' 转为二进制就是 0000, 0010, 对应的十进制是 32.  ASCII 字符代码表如下:

    转换到下面一张比较直观的表格:

    所以经过上面的梳理后,对 trim() 方法能够去除的“空白字符”有了更加直观的理解,今后也能够更合理地运用该方法了。上面的提到的 BUG,在我手动添加 trim() 方法剔除掉末尾的 "/r" 这个空白字符后也就解决掉了。

   最后,再稍微延伸一下,在 Java 11 的发行版中,添加了新的 strip() 方法来删除字符串中的前导和末尾空格。既然已经有了一个 trim 方法,为什么还要新增一个 strip 呢?这其实是是因为 trim 方法只能针对 ASCII 值小于等于 32 的字符进行移除,但是根据 Unicode 标准,除了ASCII中的字符以外,还是有很多其他的空白字符的,具体细节可以参考:从String中移除空白字符的多种方式

 

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com