java中字符串生成器到字符串数组
我正在尝试用java将字符串生成器转换为字符串数组。我使用了到字符串方法将Stringbuilder转换为字符串,然后使用拆分方法将其转换为字符串数组
我在数组大小方面遇到了一些问题。字符串生成器的输出如下:0,,1,,,,,,,,,,2,,,
。实际上它包含15个元素,但它显示stringbuilder的大小为18。转换成字符串数组后,它的大小显示为13
我的方法错了吗?是否有其他方法将字符串生成器转换为字符串数组
StringBuilder output = new StringBuilder();
for (String str : listToSearch) {
int index = findIndex(headerArrayList, str);
if (index > -1) {
output.append(index);
} else {
output.append(str);
}
output.append(",");
}
String out = output.toString();
String[] destIndexArray = out.split(",");
{
private static int findIndex(List<String> headerList, String element) {
for (int i = 0; i < headerList.size(); i++) {
if (headerList.get(i).equals(element)) {
return i;
}
}
return -1;
}
# 1 楼答案
您的代码有许多地方需要改进。我建议:
String
而不是索引李>List<String>
代替StringBuilder
李>是的,但是如果你遵循以上几点,你就不需要它了。但既然你问了。见此:How can a StringBuilder best be converted to a String[]?
# 2 楼答案
请参见使用stringbuilder并再次操作它并将其转换为数组不是一个好主意。而是将所有内容插入字符串列表,要检查字符串是否为整数,请使用以下命令:
如果你想把它转换成数组,你可以这样做
# 3 楼答案
你只是用一行代码试过吗
stringBuilder.toString.split("delimiter")
在你的情况下,可能看起来像
如果这不起作用,那么您可以这样做,而不是转换为StringBuilder
我认为在这种情况下,您可以对列表执行任何操作,而不需要分隔符。希望有帮助