shape - это ArrayList
, который принимает Shape
объектов. Когда вы вызываете shapes.add()
, вам необходимо предоставить методу объект типа Shape
, чтобы добавить его в этот список.
Итак, я не уверен, как создать новый Shape
объект. Я предполагаю, что это как-то связано с тем, что вы читаете из этого файла. Если Shape
принимает String
arg в конструкторе ... это предположение, но ...
public static ArrayList<Shape> create(String fileName) throws FileNotFoundException, IOException{
BufferedReader br = new BufferedReader(new FileReader(fileName));
ArrayList<Shape> shapes = new ArrayList<>();
String line = br.readLine();
while(line != null){
shapes.add(new Shape(line)); // create a new shape to add.
line = br.readLine();
}
br.close();
return shapes;
}
Надеюсь, это поможет.
Обновление на основе вашего комментария:
public static ArrayList<String> create(String fileName) throws FileNotFoundException, IOException{
BufferedReader br = new BufferedReader(new FileReader(fileName));
ArrayList<String> shapes = new ArrayList<>();
String line = br.readLine();
while(line != null){
shapes.add(line); // add String
line = br.readLine();
}
br.close();
return shapes;
}