Ein Resource-Bundle ohne Dateien, realisiert als ListResourceBundle, kann so aussehen:
com/tutego/insel/bundle/MonthResourceBundle_de_DE.java, MonthResourceBundle_de_DE
public class MonthResourceBundle_de_DE extends ListResourceBundle {
private static final String[] MONTHS = {
„Jan“, „Feb“, „Mrz“, „Apr“, „Mai“, „Jun“, „Jul“, „Aug“, „Sep“, „Okt“, „Nov“, „Dez“
};
private static final Object[][] contents = {
{ „jan“, MONTHS[0] },
{ „month“, MONTHS }
};
@Override
protected Object[][] getContents() {
return contents;
}
}
Die Nutzung der Klasse ist wie folgt:
com/tutego/insel/bundle/MonthResourceBundleDemo.java, main()
ResourceBundle bundle = ResourceBundle.getBundle( „com.tutego.insel.bundle.MonthResourceBundle“ );
System.out.println( bundle.getString( „jan“ ) ); // Jan
System.out.println( Arrays.toString( bundle.getStringArray( „month“ ) ) ); // [Jan, Feb, …
System.out.println( Collections.list( bundle.getKeys() ) ); // [month, jan]
In diesem Fall lädt ResourceBundle.getBundle(…) keine Property-Datei, sondern eine Klasse im Klassenpfad. Die API von ResourceBundle bietet auch eine Methode getStringArray(), die ein Feld zurückgibt, jedoch ist das bei Ressourcen-Dateien nicht nötig, nur bei Ressourcen, die „von Hand“ programmiert wurden, wie in unserem Beispiel.