java - Codenameone 偏好空指针

标签 java preferences codenameone

因此,根据我对 Preferences api 的理解,我可以使用preferences.set(String, String) 保存一个具有唯一值作为名称的字符串/int/等。

但是当我这样做时为什么会得到一个 Hastable 空指针:

private Preferences pref;
private String prefString, hold;
...

pref.set(prefString, hold);

最佳答案

private Preferences pref;
private String prefString, hold;

您有declared pref,但您还没有 initialized它。这就是为什么

pref.set(prefString, hold);

抛出一个NullPointerException,因为null没有名为set的函数。空什么也没有。空就是什么都没有。

通常,我会说你需要用类似的东西初始化 pref

pref = new Preferences();

但是,根据 codenameone API for Preferences ,它的所有函数都是静态的,应该这样调用:

Preferences.set(prefString, hold);

因此,它的声明行一开始就不应该存在。

<小时/>

如果

Preferences.set(prefString, hold);

仍然抛出NullPointerException,这可能是因为“prefString”也是null

关于java - Codenameone 偏好空指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22788439/

相关文章:

java - EmbeddedId 属性上的 Hibernate Criteria 抛出 org.hibernate.QueryException : could not resolve property

android - 未为 PreferenceActivity 的 xml 文件生成 R.xml.xyz

android - 使用 getSharedPreferences 获取时间

java - Codename One 如何适用于设备特定功能?

java - Hibernate 5.2 和 Spring 4.3,非 JPA - javax.persistence.TransactionRequiredException : no transaction is in progress

java - Emacs java-mode : malabar, jdee,还是eclim?

java - 使用 java.util.prefs.Preferences 处理 Windows 注册表

slider - 如何在 [CodenameOne] 中显示垂直 slider

java - 是否可以将 SSL 证书附加到代号一中的此 WebBrowser 组件?

java - JTA 同步和超时