ciao andbin!
innanzitutto, buon natale (anche se ormai è passato)!
prendendo il primo punto, relativo ai genercis.
mi sono letto parecchi esempi, ma non sono riuscito a capire come applicarlo al mio caso.
io ho due metodi che hanno la stessa logica, e che solo due differenze:
-il file da cui leggono
-il tipo di lista che creano (ArrayList<Author> o ArrayList<Editor>)
volendo fare un unico meteodo generico:
-il file glielo potrei passare come parametro
-dovrei creare una lista generica -> ma qua mi sorgono delle domande
banalmente ho fatto una prova del genere (per capire un pò meglio di che parliamo), ma da errore:
e cmq non è molto generalizzato, perchè Author glielo impongo nel metodo, quindi sarei di nuovo da capo.codice:public List<?> getAllAuthorsEditors(String fileJson) throws IOException { File file = new File(fileJson); List<?> 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; }
ho visto che potrei creare una classe generica di questo tipo:
ma cmq non riesco ad usarla applicato al mio esempio.codice:public class AEContainer<T> { private T t; public void add(T t) { this.t = t; } public T get() { return t; } }

Rispondi quotando