Dove dovresti memorizzare le variabili per un programma di ricerca in java?

1

Mi chiedo quale sia un metodo di archiviazione più efficace in java. Sarebbe meglio salvare le costanti in una classe o in una risorsa? Le costanti saranno ricercate in seguito dal mio programma di ricerca che passerà attraverso l'elenco delle costanti in modo da riconoscere le possibili opzioni. Inoltre, se esiste un metodo più efficiente per archiviarli, si prega di dirlo o se non è importante dove li memorizzo.

1). Una classe java chiamata Search verrà immessa con due o più costanti, quindi accederanno a una classe java che le reindirizzerà come necessario.

2). La ricerca riceverà le stesse informazioni, ma guarderà a una risorsa esterna per vedere quali file possibili corrispondono, quindi corrispondendo a quali informazioni sono state fornite si aprirà un percorso verso la classe java correlata.

Quale versione dovrebbe essere migliore o non importa?

i valori che le costanti contengono saranno int inte ma ogni int avrà il proprio significato unico.

Per chiarire perché ho bisogno di questi array ogni numero avrà un significato e gli arraylists terranno i numeri come 1 potrebbe significare che il lavoro 2 potrebbe significare privato e quindi un documento di lavoro privato avrebbe un nome che PDocument ha [1,2] così via e così via spero che chiarisca

Quindi quale opzione è più efficace n. 1 o n. 2

    
posta Bored915 21.03.2012 - 00:30
fonte

2 risposte

1

Would be better to save variables that will not change in a class or a resource?

Per definizione, una variabile è qualcosa che cambierà nel tempo. Se non cambierà, è una costante.

La tua descrizione suona, come se ci fosse un indice di parole chiave o argomenti per i documenti:

To clarify why i need these arrays each number is going to have a meaning and the arraylists will hold the numbers like 1 may mean work 2 may mean private and so a private work document would have name PDocument has [1,2] so on and so on hope that clarifies

Tali parole chiave o argomenti possono cambiare nel tempo e quindi non è possibile modificarli senza ricompilare il codice, se si utilizzano le enumerazioni nella propria classe. Anche se il requisito di oggi dice, non cambieranno: a lungo termine la maggior parte dei requisiti cambia. E potresti provare a risolvere un problema diverso, in cui l'elenco di parole chiave / argomenti cresce nel tempo.

Una mappa che può essere estesa e viene letta da un file è più flessibile.

    
risposta data 21.03.2012 - 08:08
fonte
1

Sembra che tu stia parlando di variabili che manterranno valori costanti. Queste variabili dovrebbero essere dichiarate nella classe che gestisce la ricerca.

EX:

private static final int SearchType1 = 0;

Potresti anche creare un tipo di enum che manterrà le tue costanti di ricerca

EX:

public enum SearchTypes {
    SearchType1,
    SearchType2
}

dove SearchType1 sarà 0 e SearchType2 sarà 1

    
risposta data 21.03.2012 - 04:03
fonte

Leggi altre domande sui tag