Wie kann ich in einem Zahlenfeld in Java einen Beistrich am Ende entfernen?

2 Antworten

a) Du achtest beim Zusammenbauen des Strings darauf, das letzte Komma nicht zu setzen.

Beispiel:

StringBuilder builder = new StringBuilder();
int sequenceLength = fibonacciNumbers.size();

for (int i = 0; i < sequenceLength; ++i) {
  builder.append(fibonacciNumbers.get(i));

  if (i != sequenceLength - 1) {
    builder.append(',');
  }
}

String sequenceAsString = builder.toString();

Oder kürzer seit Java 8:

fibonacciNumbers.stream().map(String::valueOf).collect(Collectors.joining(","))

--

b) Die toString-Methode der AbstractCollection listet die gespeicherten Elemente kommasepariert in dieser Form auf (beispielhaft zu einer Liste an Zahlen):

List<Integer> numbers = new ArrayList<>();
numbers.add(1);
// ...
numbers.add(5);
System.out.println(numbers.toString()); // [1, ..., 5]

Das heißt, du müsstest nur noch die beiden Klammern aussparen. Das lässt sich mit der substring-Methode leicht gestalten.

c) Du wendest die substring-Methode auf dein derzeitiges Ergebnis an.