一直说no suitable method found for add
。
public class MovieLibrary {
private ArrayList<Movie> movies;
public MovieLibrary() {
movies = new ArrayList<Movie>();
}
public void addMovie(String title, int year) {
movies.add(title);
movies.add(year);
}
}
答案 0 :(得分:5)
您只能在Movie
中添加ArrayList
类型的对象。首先,将一个对象从标题和年份中删除,然后将其添加到ArrayList
。因此,根据您的Movie
类的设计方式,它可能看起来像这样:
public void addMovie(String title, int year)
{
Movie movie = new Movie(title, year);
movies.add(movie);
}
答案 1 :(得分:1)
ArrayList
和Movie
时,电影是String
int
。除非是继承层次结构中的不同对象(如子类),否则不能在明确键入的ArrayList
中混合使用不同的类型。
如果你有一个Movie(String title, int year)
构造函数,你应该做这样的事情:
public void addMovie(String title, int year){
Movie m = new Movie(title, year)
movies.add(m);
}
如果没有,请创建一个new Movie()
,然后使用getter和setter。
答案 2 :(得分:0)
您正在尝试将String添加到您创建的列表中以接受类型为Movies的对象