Такой код(тут только то, что касается моего вопроса):
List<Track> tracks = new ArrayList<Track>();
String abbr = sc.nextLine();
String number = sc.nextLine();
String type = sc.nextLine();
String unit = sc.nextLine();
String frequency = sc.nextLine();
tracks.add(new Track(abbr, number, type, unit, frequency));
for (Track s : tracks)
{
System.out.println(s);
}
Мне нужно, чтобы выводилось содержимое, а выводится, вроде бы, ссылка(могу ошибаться, поправьте, если не так). Вывод: Track@35fb3008
Подскажите, что не так.
public class Track // .... {
// Fields && || Methods
// ......
@Override
public String toString() {
return new StringBuilder("Track{")
.append("abbr: ").append(abbr).append(",")
.append("number: ").append(number).append(",")
.append("type: ").append(type).append(",")
.append("unit: ").append(unit).append(",")
.append("frequency: ").append(frequency).append("}")
.toString();
}
}
Переопределите метод toString в классе Track
@Override
public String toString() {
return "Track{" + "abbr=" + abbr + ", number=" + number + ", type=" + type + ", unit="
+ unit + ", frequency=" + frequency + '}';
}
Выводите поля с помощью геттеров:
tracks.add(new Track(abbr, number, type, unit, frequency));
for (Track s : tracks) {
System.out.println(s.getAbbr());
System.out.println(s.getNumber());
System.out.println(s.getType());
System.out.println(s.getUnit());
System.out.println(s.getFrequency());
}
или, если у вас в классе Track нет геттеров, замените это на прямые обращения к полям:
tracks.add(new Track(abbr, number, type, unit, frequency));
for (Track s : tracks) {
System.out.println(s.abbr);
System.out.println(s.number);
System.out.println(s.type);
System.out.println(s.unit);
System.out.println(s.frequency);
}
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости