Static ResourceBundle

Ich bin derzeit die Mittel für eine app, die Verwendung von ResourceBundle. Die Sache ist die, mit dem aktuellen code zu versenden, die Ressourcen, die ich brauchen würde, erstellen Sie eine Instanz der resource-bundle-jedes mal, wenn ich ihn brauche und ich denke das ist keine gute Idee, da würde ich am Ende das laden der Ressourcen, die sich wieder und wieder.

Die zweite Lösung wäre, teilen Sie das Bündel in vielen, Aber ich würde am Ende mit bundles haben nur 2-3 Saiten und gerne 15-bundles.

Meine Frage ist:
Gibt es eine Möglichkeit, einfach laden Sie alle Ressourcen in einem einzigen statische Klasse und greifen Sie von dort aus.

Ich dieses kleine Stück code, das scheint zu funktionieren für mich, aber ich bezweifle seine Qualität.

public class StaticBundle
{
    private final static ResourceBundle resBundle = 
        ResourceBundle.getBundle("com.resources");
    public final static String STRING_A = resBundle.getString("KEY_A");
    public final static String STRING_B = resBundle.getString("KEY_B");
    public final static String STRING_C = resBundle.getString("KEY_C");
}

Mit dieser, die ich anrufen kann StaticBundle.STRING_A und den Wert überall im Projekt, aber da das bundle initialisiert wird zur gleichen Zeit wie die Klasse selbst... Es ist gut möglich, dass das Programm nicht die Zeit haben, laden Sie die richtigen lokalen Einstellungen.

Ist es ein guter Weg, dies zu tun, oder jede mögliche andere Lösung?

Danke

  • Was Sie haben ist in Ordnung, wenn Sie verwenden Sie nur die Standard-locale laden Sie Ihre Schlüssel. Aber keine Sorge, zu viel über die Leistungen: ResourceBundle.getBundle() verwendet einen cache, und laden nicht die Ressourcen, jedes mal, wenn es aufgerufen wird.
InformationsquelleAutor AyoyeSnif | 2013-07-31
Schreibe einen Kommentar