Diciamo che voglio analizzare alcuni JSON e memorizzo il percorso in una classe di costanti Java sul percorso che voglio seguire.
Ad esempio:
public static final List<String> path = Arrays.asList("a", "b", "c");
così posso farlo (pseudocodice):
public boolean checkSomething() {
JsonThing json = ...
for (String path : Constants.path) {
json.get(path);
}
return json.getAsString().equals("value");
}
Sarebbe meglio memorizzare questa costante come una stringa come:
public static final String path = "a:b:c";
e poi fai:
public boolean checkSomething() {
JsonThing json = ...
for (String path : Constants.path.split(":") {
json.get(path);
}
return json.getAsString().equals("value");
}
Poiché il percorso è già memorizzato in memoria, sarebbe più efficace mantenere solo un: elenco separato poiché quella stringa occupa meno spazio dell'array. In questo caso, c'è un po 'più di lavoro da fare (iterando su String per trasformarlo in lista), ma poi la lista è garbage collection quando il metodo è finito.