Это действительно расстраивает. Я хотел бы распечатать название игрового объекта вместе с объектами комментариев, связанными с ними. Отзывы / ответы вызываются по ссылке объекта. Я могу сказать, что компилятор знает ссылку, потому что он группирует обзоры и ответы по играм.
Я хочу это так:
Отзывы о The Witcher 3 --- часть, которую я хочу, остальное легко.
Rev1 / ID пользователя: u1; Имя: JD; «Эта игра вне времени!»
Rep1 / ID пользователя: u2; Имя: Босс; «Правда? Ты бегаешь по воображаемым полям, охотясь на воображаемых существ ... хромых».
Rep2 / ID пользователя: u1; Имя: JD; «Бла, бла, что-то».
Другие игры и т. Д. *
Группа отзывов идеально подходит для игрового типа и идеально отвечает группе отзывов. Но я не могу найти способ показать игру, для которой предназначены обзоры. Есть ли способ?
Любая помощь будет отличной.
методы просмотра и ответа вызываются так:
game1.addReviews(review1);
review1.addReply(reply1);
reply1.addReply(reply2);
....
public class Comment {
protected List<Comment> reply = new ArrayList<Comment>();
private User user;
private String usrComment;
public Comment() {
}
public void addReply(Comment r) {
this.reply.add(r);
}
@Override
public String toString() {
return this.user.getUsr() + '"' + this.usrComment + '"';
}
...
public abstract class Content {
protected List<Comment> Review = new ArrayList<Comment>();
private String ID;
private String Application_Name;
// constructor to take ID, name and price of app
public Content(String iD, String application_Name, double price) {
super();
ID = iD;
Application_Name = application_Name;
Price = price;
}
public void addReviews(Comment a) {
this.Review.add(a);
}
}
...
public class Game extends Content {
private boolean isMultiPlayer;
private OS o;
private double Price = 0;
public Game(String iD, String application_Name, double price, boolean isMultiPlayer, OS o) {
super(iD, application_Name, price);
this.isMultiPlayer = isMultiPlayer;
this.o = o;
}
}