allora, ReadJson ha diversi metodi per la lettura di alcuni file json.
ha un metodo per ogni file json da leggere.
ad esempio, getAllAuthors:
il file da leggere, in effetti, è impostato in maniera "fissa", prendendolo da una classe che ha solo delle costanti che uso in varie parti del programma.codice:public ArrayList<Author> getAllAuthors() throws IOException { File file = new File(UrlAndPath.JSON_AUTORI); ArrayList<Author> list = new ArrayList<>(); if (file.exists()) { Gson gson = new Gson(); JsonParser parser = new JsonParser(); try (BufferedReader bf = new BufferedReader(new FileReader(file))) { JsonArray jarray = parser.parse(new JsonReader(bf)).getAsJsonArray(); for (JsonElement e : jarray) { Author au = gson.fromJson(e, Author.class); list.add(new Author(au.id, au.name)); } } } return list; }
come vedi vado a creare un ArrayList<Author> (una cosa simile faccio per gli Editor).
per quanto riguarda ArrayList<? extends Object>, hai ragione.
ma non mi è venuto in mente altro.
perchè al metodo riempiCombo, dovrei passare o ArrayList<Author>, o ArrayList<Editor>, a seconda della sotto-classe che richiamo.

Rispondi quotando