Запись в файл несовместимых типов - PullRequest
0 голосов
/ 06 мая 2018
List<Data> arrayListToFile = new ArrayList<>();
arrayListToFile.add(new Data("E30", "1985", ratingE30));
arrayListToFile.add(new Data("E36", "1992", ratingE36));
arrayListToFile.add(new Data("E46", "2000", ratingE46));
arrayListToFile.add(new Data("E92", "2007", ratingE92));
arrayListToFile.add(new Data("F80", "2014", ratingF80));

Path location = Paths.get("src/data.txt");
Charset utf8 = Charset.forName("UTF-8");
try {
    write(location, arrayListToFile, utf8);
} catch (Exception e) {
    System.out.println("The file could not be saved");
}

public static class Data {
    private String name;
    private String year;
    private String rating;

    public Data(String name, String year, String rating) {
        this.name = name;
        this.year = year;
        this.rating = rating;
    }
}

Я получаю сообщение об ошибке несовместимых типов:

java.util.List<com.company.Main.Data> cannot be converted to java.lang.Iterable<? extends java.lang.CharSequence>

Любые идеи будут оценены.

1 Ответ

0 голосов
/ 06 мая 2018

Класс ArrayList является расширением класса List, поэтому, если вы хотите использовать ArrayList, полностью завершите инициализацию. Вероятно, несовместимо, вы можете указать тип подкласса в конструкторе new ArrayList<Data>();

List<Data> arrayListToFile = new ArrayList<Data>();

или просто полностью инициализировать объект как ArrayList

ArrayList<Data> arrayListToFile = new ArrayList<>();
...