我有一个非常简单的问题,其实我有点沮丧,我解决不了这个对我自己的,但在这里它是:追加一次一个Java字符串一个字符
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 = "";
}
}
你看过这个类的API吗?如果是这样,你会看到使用的方法。那么,为什么不使用for循环和'append(...)'方法呢?编辑:或者更好,使用split作为@Perception发布。他应该做出答案。 –
你的意思是什么不起作用?什么实际上存储在'strBuffer'中? –
什么类是'strBuffer'?此外,看起来像你可以只使用'String.split'而不是试图重新发明轮子。 – Perception