数组列表打印一个奇怪的输出

Array list printing a strange output

我试图达到的目标是让用户输入电影的名称以及发行日期。为此,我设置了单独的 类。

Movie cameronsMovie = new Movie("Sin City", 2005);
    Movie [] movieList = new Movie [9];
    movieList[0] = cameronsMovie;

    for (int i = 0; i < movieList.length; i++) {
        System.out.print("Please enter a movie Title: ");
        String title = GetInput.readLine(); //Get movieTitle
        System.out.print("Please enter the year it was released: ");
        int releaseDate = GetInput.readInt(); //Get year
        // creating a new ojbect
        Movie userMovie = new Movie(title, releaseDate); /* calls the 
        constructor from Movie class
        */
        movieList[i] = userMovie;
    }

    System.out.println(movieList.toString());

这是我用来调用另一个 类 的代码,我遇到的问题是我最后一行代码打印出 [LMovie;@2a139a55

在我的 类 文件中我有这段代码

public String toString() {

       String temp = new String();
       temp = "Movie title: " + getTitle() + "\nYear of Release: " +        
              getYear();
       return(temp);

       }

到return我的字符串。我的 toString() 设置方式有问题还是我在其他地方犯了错误

您的问题标题有点混乱,因为您没有使用 ArrayList,而是使用了 Array。 使用 ArrayList,使用 ArrayList.toString();

打印它是没有问题的

但是因为你使用了一个数组,所以你需要一个在Arrays中定义的辅助函数:

 Arrays.toString(movieList);