有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java不兼容类型:无法将void转换为ArrayList<String>

我是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) 个答案

  1. # 1 楼答案

    您的getList()方法返回类型为void,如果您希望能够将该方法的结果分配给ArrayList <T>,它必须返回ArrayList <T>,在您的情况下,它需要返回ArrayList <字符串>,因此getList()的头应该如下所示:

    public static ArrayList<String> getList();