Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2014
    Messaggi
    76

    [Java] Evitere inizializzazioni multiple variabili

    Ciao a tutti,
    ho diverse classi che codificano una valore in un'altro tramite un array di trascodifica, fatte tutte grossomodo seguendo una struttura simile:
    public class TranscodedValue {
    private string trandscodedVal;

    public TranscodedValue(int toTranscode){
    string[] transcodeMap = {"Value1", "Value"",.....};
    transcodedVal = transcodeMap[toTranscode];
    }

    public ToString() {...}
    }

    Ovviamente a seconda delle classi posso avere più avalori da trascodificare od effettuare qualche passaggio intermedio, ma dovrebbe essere irrilevante per il problema.

    Quello su cui avrei bisogno di aiuto è dove/come sposto l'inizializzazione dell'array di trascodifica in modo che non venga inizializzato ad ogni new?
    Quello che mi è venuto in mente:
    - lo sposto tra le variamibli della classe, lo dichiaro statico e lo inizializzo direttamente nella dichiarazione
    - utilizzo una classe (Statitca o Singleton o altro?) "Factory" con la "responsabilità" di creare gli oggetti TranscodedValue, essa conterrà la "mappa" e passerà al costruttore direttamente i valori già trascodificati...quindi la classe TranscodedValue si ridurrebbe ad un "banale" ToString personalizzato...

    Altre soluzioni?

  2. #2
    Quote Originariamente inviata da Mrk31 Visualizza il messaggio
    Quello che mi è venuto in mente:
    - lo sposto tra le variamibli della classe, lo dichiaro statico e lo inizializzo direttamente nella dichiarazione
    - utilizzo una classe (Statitca o Singleton o altro?) "Factory" con la "responsabilità" di creare gli oggetti TranscodedValue, essa conterrà la "mappa" e passerà al costruttore direttamente i valori già trascodificati...quindi la classe TranscodedValue si ridurrebbe ad un "banale" ToString personalizzato...
    Se i valori sono fissi, predeterminati e l'array non viene mai modificato, allora il primo scenario: array "di classe" (=static), chiaramente private (per evitare accessibilità dall'esterno).
    AndreaSenior Java developerSCJP 5 (91%) – SCWCD 5 (94%)
    Il mio nuovo sito-blog italiano sulla programmazione: andbin.it

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 © 2021 vBulletin Solutions, Inc. All rights reserved.