String.trim()源码解析

Posted 再等三分钟

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了String.trim()源码解析相关的知识,希望对你有一定的参考价值。

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;
st=0,从数组的左边开始循环,当遇到第一个不为空的字符,跳出循环

然后从数组的右边开始循环,当遇到第一个不为空的字符,跳出循环。

最后返回数组。

String str1 = "   333";
String str2 ="22   ";
String str3 = "   444  ";
String str4 = "555   666";
System.out.println(str1.trim());
System.out.println(str2.trim()+"去掉了吗");
System.out.println("去掉了吗"+str3.trim()+"去掉了吗");
System.out.println(str4.trim());

输出:

333
22去掉了吗
去掉了吗444去掉了吗
555   666

trim()是会去掉左右两边的空格,中间的空格不能去掉。

以上是关于String.trim()源码解析的主要内容,如果未能解决你的问题,请参考以下文章

js 用不了 trim

String.trim()的作用

String str.trim()

java中string.trim()函数的作用

js的trim方法

Java 11 中 String trim() 和 strip() 方法的区别