private static final String没有完成其工作

时间:2015-10-27 17:58:36

标签: java android sharedpreferences

我已经实现了一个全局私有静态最终字符串Key,如下所示:

private static final String KEY_STUFE = "Stufe";

EasyPreferences.

一起使用

当我输入类似

的硬编码字符串时
int abc = Prefs.getInt("MyKey", 1);

代码工作正常。

但是当我使用全局密钥时:

int abc = Prefs.getInt(KEY_STUFE, 1);
  

java.lang.ClassCastException:java.lang.String无法强制转换为   java.lang.Integer中

我没有收到错误。全局键被定义为String,函数需要一个字符串。太好了。 那么为什么我会出现这样的错误?

1 个答案:

答案 0 :(得分:1)

来自getInt方法的文档:

  

抛出      如果存在不具有此名称的首选项,则为ClassCastException      一个int。

这很有可能发生在这里,密钥"Stufe"没有关联的int值。