Как объединить строки в одну строку в Java? - PullRequest
0 голосов
/ 18 декабря 2018

У меня есть список, который содержит три объекта: Object1, Object2, Object 3.

Когда я вызываю метод toString для каждого объекта, это результат:

Буква объекта:A;Номер объекта: 1.

Буква объекта: B;Номер объекта: 2.

Буква объекта: C;Номер объекта: 3.

Так что я хочу, чтобы этот метод сделал, чтобы поместить всю эту информацию в строку.Итак, мой метод:

public String method1 () {
  //And here is where its supposed to do that stuff
}

Я знаю, как взять список и просмотреть его, чтобы я мог разыграть toString в каждом объекте, который находится в моем списке, но я не понимаюНе знаю, как это сделать, как поместить всю эту toString информацию обо всех объектах, которые находятся в моем списке, в одну строковую переменную, поэтому мой метод возвращает строку со всей этой информацией.

1 Ответ

0 голосов
/ 18 декабря 2018

Добро пожаловать в Java, я не очень хорошо себя чувствую!

Вы правильно предположили, что вам нужно вызвать toString () - метод ваших объектов (последовательно).У вас есть несколько вариантов сделать это:

StringBuilder result = new StringBuilder();
for (Object obj : list) {
   result.append(obj.toString());
}
return result.toString();

Выше приведен один из самых «простых».Однако есть несколько других (например, если вы хотите вставить разделитель).

return list.stream()
        .map(Object::toString)
        .collect(Collectors.joining(", "));

короче и также допустимо (и разделит запятыми ваши отдельные строки).

В DodgyCodeException также упоминается вызов list.toString().Это полезно для целей отладки или ведения журнала, но дает меньше контроля над конечным выводом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...