【发布时间】:2017-09-24 10:35:43
【问题描述】:
我已经尝试解决这个问题了一两个星期,但无法做到。
我有两个班级,MyApplication 和 Store。这只是一个测试程序,看看我的存储代码有什么问题。
这是MyApplication 类
public class MyApplication {
private Form current;
private Resources theme;
private Store o;
public void init(Object context) {
theme = UIManager.initFirstTheme("/theme");
Util.register("Store", Store.class);
Toolbar.setGlobalToolbar(true);
}
public void start() {
if(current != null){
current.show();
return;
}
Form hi = new Form("Hi World");
TextField enter = new TextField("","Enter Here", 20, TextField.ANY);
Button add = new Button("Add");
add.addActionListener((ev)->
o.add(enter.getText() + "", 100)); /*Failing here*/
hi.add(enter).add(add);
hi.show();
}
private void save()
{
Storage.getInstance().writeObject("NameOfFile", o);
}
private void load()
{
o = (Store) Storage.getInstance().readObject("NameOfFile");
}
public void stop() {
current = Display.getInstance().getCurrent();
if(current instanceof Dialog) {
((Dialog)current).dispose();
current = Display.getInstance().getCurrent();
}
}
public void destroy() {
}
}
这是Store 类
public class Store implements Externalizable {
private static final int VERSION = 1;
HashMap<String, Integer> data;
public void externalize(DataOutputStream out) throws IOException
{
Util.writeObject(data, out);
}
public void internalize(int version, DataInputStream in) throws IOException
{
data = (HashMap<String, Integer>)Util.readObject(in);
}
public void add(String s, Integer i)
{
data.put(s, i);
}
public int getVersion()
{
return VERSION;
}
public String getObjectId()
{
return "Store";
}
}
我之前在 MyApplication 类中使用了一个哈希映射指针,但它在同一位置失败了。
【问题讨论】:
标签: java hashmap store codenameone