【发布时间】:2019-12-02 11:54:59
【问题描述】:
我正在创建一个程序来显示保存在文本文件中的餐厅评论。如图所示,文本文件是通过 DAOimpl 类读入的。
public class DAOlmpl implements DAOInterface {
static final char DELIMITER=',';
/**@Override*/
public Repository load(String filename) {
Repository repository = new Repository();
try (BufferedReader br = new BufferedReader(new FileReader(filename))) {
String[] temp;
String line = br.readLine();
while(line!=null){
temp=line.split(Character.toString(DELIMITER));
String name = stripQuotes(temp[0]);
String location = stripQuotes(temp[1]);
Restaurant restaurant = new Restaurant(name, location) {};
int lines = Integer.parseInt(temp[2]);
ArrayList<Review> review = new ArrayList<>();
for (int i=0; i<lines; i++) {
restaurant.addReviews(review);
}
repository.add(restaurant);
line = br.readLine();
}
br.close();
} catch (IOException ex) {
Logger.getLogger(DAOlmpl.class.getName()).log(Level.SEVERE, null, ex);
}
return repository;
}
}
然后使用此方法转移到 Restaurant 类。
public void addReviews(Review review) {
this.reviewsCollection.add(review);
}
但是,我似乎无法将它作为数组列表而不是对象的形式放入 Restruant 类。我已经尝试了很多方法来纠正它,但无法让它正常工作
【问题讨论】:
-
你问题的最后一部分不清楚。请让问题更清楚。你想达到什么目标?
-
我不确定我是否理解评论解析应该如何工作,似乎缺少某些东西:至少构造至少一个评论对象。您只需创建 ArrayList 来存储评论,但您没有放任何东西。复习课是什么样子的???但是当前问题的解决方案可以直接从您问题的最后一句得出:您要么需要更改
addReviews的签名(可能还有实现)以接受ArrayList,要么您需要更改review变量是并实例化它 e. G。作为Review review = new Review(...)
标签: java arrays netbeans text-files dao