我已经实现了一个全局私有静态最终字符串Key,如下所示:
private static final String KEY_STUFE = "Stufe";
一起使用
当我输入类似
的硬编码字符串时int abc = Prefs.getInt("MyKey", 1);
代码工作正常。
但是当我使用全局密钥时:
int abc = Prefs.getInt(KEY_STUFE, 1);
java.lang.ClassCastException:java.lang.String无法强制转换为 java.lang.Integer中
我没有收到错误。全局键被定义为String,函数需要一个字符串。太好了。 那么为什么我会出现这样的错误?
答案 0 :(得分:1)
来自getInt
方法的文档:
抛出 如果存在不具有此名称的首选项,则为ClassCastException 一个int。
这很有可能发生在这里,密钥"Stufe"
没有关联的int值。