Vorrei creare un HashMap
che associa tipi di classi specifici a un singolo nuovo oggetto specifico.Come creare una HashMap typesafe generica per tipo di classe?
Successivamente voglio passare il tipo di classe e ottenere il riferimento a quell'oggetto specifico. Esempio semplice:
Map<Class<?>, ?> values = new HashMap<>();
public <T> t get(Class<T> type) {
return values.get(type);
}
//pet and car do not share any interface or parent class
class Pet;
class Car;
//error: not applicable for arguments
values.put(Pet.class, new Pet());
values.put(Car.class, new Car());
utilizzo:
values.get(Pet.class);
Come posso creare tale funzione hashmap e ricerca generica di conseguenza?
Sei alla ricerca di Guava di [ 'ClassToInstanceMap'] (https://code.google.com/p/guava -libraries/wiki/NewCollectionTypesExplained # ClassToInstanceMap)? –
Grande, probabilmente questo è quello che sto cercando di reinventare;) – membersound