初学者......我不知道我在Arraylist上的添加有什么问题

时间:2017-08-07 20:57:40

标签: java

一直说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);
    }
} 

3 个答案:

答案 0 :(得分:5)

您只能在Movie中添加ArrayList类型的对象。首先,将一个对象从标题和年份中删除,然后将其添加到ArrayList。因此,根据您的Movie类的设计方式,它可能看起来像这样:

       public void addMovie(String title, int year)
       {
         Movie movie = new Movie(title, year);
         movies.add(movie);
       }

答案 1 :(得分:1)

当您尝试添加ArrayListMovie时,

电影是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的对象