Java 为什么下面的代码提取字符而不是空格?

Java 为什么下面的代码提取字符而不是空格?,java,Java,我看到了如下代码段: public class Practice { public static void main( String[] args ) { String i = new String("I love you"); System.out.println(doSomething(i)); } public static String doSomething( String s ) { final

我看到了如下代码段:

public class Practice
{
    public static void main( String[] args )
    {
        String i = new String("I love you");
        System.out.println(doSomething(i));
    }
    public static String doSomething( String s )
    {
        final String BLANK = " ";
        String str = "";
        String temp;
        for ( int i = 0; i < s.length(); i++)
        {
            temp = s.substring(i, i + 1);
            if (!(temp.equals(BLANK)))
            {
                str += temp;
            }

        }
        return str;
    }
}
公共课堂实践
{
公共静态void main(字符串[]args)
{
字符串i=新字符串(“我爱你”);
系统输出打印LN(剂量测量(i));
}
公共静态字符串doSomething(字符串s)
{
最终字符串空白=”;
字符串str=“”;
字符串温度;
对于(int i=0;i
我被这里的代码弄糊涂了。我相信只要for循环运行,字符串中的一个字符就会被提取出来。例如,当i=0时,临时值应该是“i”,i=1,“i=2,L”等,并且当Timp=“”时,if语句声明空白将添加到字符串STR中。因此,每当循环运行时,临时变量将相应地改变,因此不能存储该值,除非它的值是“”。p> 输出为Iloveyou。

问题在于:

   if (!(temp.equals(BLANK)))
        {
            str += temp;
        }
如果温度不为(该!表示不为)空白

然后做:
str+=temp

问题在于:

   if (!(temp.equals(BLANK)))
        {
            str += temp;
        }
如果温度不为(该!表示不为)空白

然后做:
str+=temp

和当temp=“”-否。当
temp
不等于
时。这就是<代码>表示。当temp=“”-否时,
temp
不等于
。这就是<代码>意味着。