Problema: ho due stringhe, una delle quali mi dice di che tipo è il dato contenuto nell'altra.
Soluzione merdosa: una catena di if che considera tutti i possibili tipi ammessi e quando trova quello giusto usa il metodo parse* (Integer.parseInt, Long.parseLong, etc.) appropriato.
Schifo, duecentomila righe di codice di un'idiozia rara e noiose da estendere.
Soluzione stylish:
Class[] prototype = {String.class};Non solo è estremamente più elegante, ma consente di ritornare oggetti di qualunque tipo che abbia un costruttore che prende una String come parametro senza toccare il codice.
Class objClass = Class.forName(type);
Constructor ctor = objClass.getConstructor(prototype);
return ctor.newInstance(new Object[]{value});
Io a fare ste cose mi ci diverto veramente tanto, lo so, sono gravemente malato e dovrei farmi internare...abbiate pietà di me.
Nessun commento:
Posta un commento