Как удалить только запятые, которые появляются из-за Arrays.toString()
Замена квадратных скобок не проблема, но проблема заключается в замене запятых, replace(",", "")
потому что он делает это со всеми запятыми в моей таблице, и мне нужно удалить только те, которые появляются из-за Arrays.toString()
System.out.println( Arrays.toString( product ).replace("[", "").replace("]", "").replace(",", ""));
Если нет способа сделать это, возможно, есть другие способы напечатать мой массив, например, строитель строк... и т. Д.? но я не уверен, как его использовать
3 ответа
Вместо того, чтобы использовать Arrays.toString
, так как вы не хотите вывод, который он создает, используйте свой собственный цикл:
StringBuilder sb = new StringBuilder(400);
for (int i = 0; i < product.length; ++i) {
sb.append(product[i].toString());
}
String result = sb.toString();
Обратите внимание, я использую toString
на ваше product
записи; может быть более подходящий выбор в зависимости от того, что это такое.
Если вы хотите разделитель (кроме ,
очевидно), просто добавьте его в StringBuilder
по ходу дела:
StringBuilder sb = new StringBuilder(400);
for (int i = 0; i < product.length; ++i) {
if (i > 0) {
sb.append(yourDelimiter);
}
sb.append(product[i].toString());
}
String result = sb.toString();
Мы не знаем, как выглядят ваши объекты в вашем массиве, но вы не должны использовать Arrays.toString
если вам не нравится вывод, так как это всего лишь вспомогательный метод, чтобы сэкономить ваше время. Просто переберите свои объекты с помощью цикла и распечатайте их.
Есть отличная библиотека apache, где вы можете достичь своей цели в одной строке кода: org.apache.commons.lang.StringUtils
String delimiter = " ";
StringUtils.join(array, delimiter);