一次为java String添加一个字符

The*_*777 0 java string

我有一个非常简单的问题,事实上我有点沮丧,我无法自己解决这个问题,但这里是:

strBuffer += arg.charAt( i );
Run Code Online (Sandbox Code Playgroud)

有了这一行,我正在尝试解析一个值,并逐个字符地添加到一个新字符串中.我这样做是为了将一个长字符串分隔成一个较小的字符串数组.

例如,这个字符串

-time delayed -run auto -mode go_n_run
Run Code Online (Sandbox Code Playgroud)

会变成这个阵列

strBuffer [0] = -time 
strBuffer [1] = delayed 
strBuffer [2] = -run 
strBuffer [3] = auto 
strBuffer [4] = -mode 
strBuffer [5] = go_n_run
Run Code Online (Sandbox Code Playgroud)

因此,带有'+ ='的代码行不起作用,我的strBuffer中没有任何内容.所以我在论坛上发现了一些更"复杂"的东西:

strBuffer.concat( new String( new char[]{arg.charAt( i )} ) );
Run Code Online (Sandbox Code Playgroud)

但同样的结果,strBuffer中没有任何内容,

所以,任何提示都将不胜感激

谢谢

编辑:这是完整的方法

String[] args = new String[2 * ARG_LIMIT];
        int index = 0;

        for( int i = 0; i < arg.length(); i++ )
        {
            String strBuffer = new String();

            if( arg.charAt( i ) != ' ' )
            {   

                            // The two methods I've tried
                strBuffer.concat( new String( new char[]{arg.charAt( i )} ) );

                strBuffer += arg.charAt( i );

            }
            else if( arg.charAt( i ) == ' ' )
            {
                args[index] = strBuffer;
                index++;
                strBuffer = "";
            }
        }
Run Code Online (Sandbox Code Playgroud)

nul*_*ent 6

我会假设这strBuffer是java的一个实例StringBuffer; 如果是这样 - 你应该使用strBuffer.append().

但是有一种更简单的方法来做你想要的事情:

String [] strBuff = arg.split(""); //按空格分割