Я хотел бы получить строковый текст элементов, сохраненных в списке, сказать List<Car>
. Был бы toArray () и toString () методы быть наилучшими вариантами?
Да, но делать это вручную дает вам больше контроля:
// initialize with the exact length
List<String> stringsList = new ArrayList<String>(listOfCars.size());
for (Car car : listOfCars) {
stringsList.add(car.toString());
}
Если вы не переопределили метод toString()
или не хотите его переопределять, вы можете использовать car.getName()
вместо car.toString()
(или любую другую комбинацию свойств, которая вам нравится)
Другая идея - использовать Apache Commons Lang для написания следующего кода:
StringUtils.join(myList);
Интерес заключается в том, что вы также можете предоставить разделитель, например:
StringUtils.join(myList, " ; ");
Существует статический тостр (объект [])
метод Java.util.Arrays
. Призывая его с помощью Toarray ()
результат списка (как вы предложили) должны выполнять работу.
Предоставление вы не возражаете на вывод строки после Конвенции:
[A, B, C]
... Вы можете просто вызвать список
метод TOSTRING ()
для получения вашего вывод (я не уверен, почему люди выступают с использованием цикла для этого). Это также может быть разумно, чтобы переопределить автомобиль метод TOSTRING ()
, чтобы вернуть человеческое описание объекта.
Однако, если вы хотите получить каждый элемент в качестве индивидуального строки
, вам понадобится итерации по списку один элемент за раз.
for (Car car : carsList) { // carsList is the object of List<Car>
System.out.println(car);
}
Примечание. Приведенное выше отобразится значимое сообщение только при переоценке метода TOSTRING () класса автомобиля.
E.G
public class Car {
private String carName;
....
....
public String toString() {
return carName;
}
}
Метод TOSTRING () должен быть переопределен для возврата значимой информации о объекте в форме строки.
В вашем случае, я думаю, что значимая информация будет все детали автомобиля. Таким образом, метод переопределения TOSTRING () является лучшим подходом вместо использования GetCarkAme () или аналогичных методов.