不兼容的类型:void无法转换为ArrayList <string>

时间:2017-12-05 23:08:37

标签: java arraylist types void incompatibility

我是Java的新手,并且确定这是一个简单的修复程序,我不知道该怎么做。程序的这一部分是为了获取一个文本文件,将其转换为ArrayList然后返回它,但是在返回时我收到错误。

   package albumdatabase;

   import java.io.FileReader;
   import java.util.ArrayList;
   import java.util.Scanner;

public class Duration {   

    public static void getLength(String[] args){
        ArrayList<String> listOfAlbums;
        listOfAlbums = getList();
        String arrayOfAlbums[] = new String[listOfAlbums.size()];
        arrayOfAlbums = listOfAlbums.toArray(arrayOfAlbums);
        System.out.println(arrayOfAlbums);

        for( int i = 0; i < arrayOfAlbums.length - 1; i++){
            System.out.println(i);
        }
    }


    public static void getList()throws Exception{
        ArrayList<String> listOfAlbums;
        listOfAlbums = new ArrayList<String>();
        FileReader albums = new FileReader("albums.txt");
        Scanner scanner = new Scanner(albums);
        while (scanner.hasNextLine()){
            listOfAlbums.add(scanner.nextLine());

        }
        System.out.println(listOfAlbums);
        scanner.close();
        return listOfAlbums;

    }
}

1 个答案:

答案 0 :(得分:0)

你的getList()方法返回类型是void,如果你想能够将该方法的结果分配给ArrayList <T>,它将不得不返回ArrayList <T>,在你的情况下它需要返回ArrayList <字符串>,因此getList()的标题应如下所示:

public static ArrayList<String> getList();