我有一个非常简单的问题,事实上我有点沮丧,因为我无法自己解决这个问题,但这里是:
strBuffer += arg.charAt( i );
通过这一行,我试图解析一个值并将其逐个字符地添加到新字符串中。我这样做是为了将一个长字符串分成一个较小的字符串数组。
例如,这个字符串
-time delayed -run auto -mode go_n_run
会变成这个数组
strBuffer [0] = -time
strBuffer [1] = delayed
strBuffer [2] = -run
strBuffer [3] = auto
strBuffer [4] = -mode
strBuffer [5] = go_n_run
所以带有'+='的代码行不起作用,我的strBuffer中没有任何东西。所以我尝试了一些在论坛上发现的更“复杂”的东西:
strBuffer.concat( new String( new char[]{arg.charAt( i )} ) );
但同样的结果,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 = "";
}
}