У меня есть этот код, который хорошо работает:
static {
myStore = PersistentStore.getPersistentObject(MY_LONG_KEY);
myList = (Vector) myStore.getContents();
if (_storedStations == null) {
myList = new Vector(4);
// prepopulate with fake data
myList.addElement(new MyItem("Eins"));
myList.addElement(new MyItem("Zwei"));
myList.addElement(new MyItem("Drei"));
myList.addElement(new MyItem("Vier"));
myStore.setContents(myList);
}
}
class MyItem implements Persistable {
.....
}
вероятно, потому что документ PersistentObject говорит:
Неявное сопротивление
Обратите внимание, что некоторые классы неявно сохраняются: логический, байтный, символьный, целочисленный, длинный, объектный, короткий, строковый, векторный, хеш-таблица
Также обратите внимание, что при сохранении объекта любой персистентный объект, на который он ссылается, также будет сохраняться.
Но как насчет других структур данных? Например, вместо вектора, использованного выше, я хотел бы иметь Hashtable с ключами: Строки и значения: MyItems. Как я могу сделать его постоянным и обеспечить, чтобы содержимое MyItem действительно сохранялось, независимо от сложности этого объекта?
А почему IntHashtable указан как Persistable, а Hashtable нет?
Спасибо!
Alex