Ano*_*ous 5 java arrays stringbuilder
我试图在java中将String builder转换为String数组。我已经习惯于String方法将Stringbuilder转换为String,然后使用split方法将其转换为String数组。
我在数组大小方面遇到了一些问题。字符串生成器的输出如下:0,,1,,,,,,,,,,2,,,。实际上它包含15个元素,但它显示stringbuilder的大小为18。转换为String数组后,它显示大小为13。
我做错方法了吗?是否有其他方法可以将 String builder 转换为 String Array?
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(",");
Run Code Online (Sandbox Code Playgroud)
该findIndex方法:
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;
}
Run Code Online (Sandbox Code Playgroud)
我做错方法了吗?
您的代码有很多地方需要改进。我建议一些:
Strings 而不是索引。for (String str :listToSearch) {
int index=headerArrayList.indexOf(str);
if (index < 0) {
output.append(str);
output.append(",");
}
// if(!headerArrayList.contains(str))
// output.append(str);
// output.append(",");
}
Run Code Online (Sandbox Code Playgroud)
List<String>而不是StringBuilder.是否还有其他方法将字符串生成器转换为字符串数组?
是的,但是如果你遵循以上几点,你就不需要它了。但既然你问了。请参阅:如何最好地将 StringBuilder 转换为 String[]?