Visualizzazione dei risultati da 1 a 10 su 10

Discussione: Aiuto sui generici

Hybrid View

  1. #1
    ok, allora ho modificato usando il metedo più generico:
    codice:
    public class ReadJson {
    
        public <T> T readJson(File file, TypeToken<T> typeToken) throws IOException {
            Gson gson = new Gson();
            try (JsonReader reader = new JsonReader(new FileReader(file))) {
                T t = gson.fromJson(reader, typeToken.getType());
                return t;
            }
        }
    }
    poi lo richiamo così:
    codice:
    TypeToken<List<Book>> bookToken = new TypeToken<List<Book>>() {};
    List<Book> listBooks = jsonRead.readJson(new File(UrlAndPath.JSON_LIBRI), bookToken);
    funzionare funziona, nel senso che il tutto viene valorizzato e visualizzato in maniera corretta.

    quindi, se volessi avere un Set piuttosto che una List:
    codice:
    TypeToken<Set<Book>> bookToken = new TypeToken<Set<Book>>() {};
    Set<Book> listBooks = jsonRead.readJson(new File(UrlAndPath.JSON_LIBRI), bookToken);
    corretto??

    PS: mi leggerò senz'altro l'articolo che mi hai indicato, spero di capirci abbastanza .

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da fermat Visualizza il messaggio
    quindi, se volessi avere un Set piuttosto che una List:
    codice:
    TypeToken<Set<Book>> bookToken = new TypeToken<Set<Book>>() {};
    corretto??
    Sì, basta cambiare la parametrizzazione del TypeToken.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Quote Originariamente inviata da andbin Visualizza il messaggio
    Sì, basta cambiare la parametrizzazione del TypeToken.
    perfetto, grazie mille come sempre!!!


Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.