【发布时间】:2020-01-25 10:07:21
【问题描述】:
我正在跟踪我的 sqlite 数据库的共享首选项中的行 ID。我使用的是 int,但后来我意识到 long 可能更适合于此,因为 id 值可能会随着时间的推移而变得巨大。当我尝试从共享首选项中获取 getLong 时出现此错误:java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.Long
sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
editor = sharedPreferences.edit();
workoutId = sharedPreferences.getLong("workoutId", 0);
我的锻炼标识初始化代码是一个全局变量private long workoutId;
我不确定它从错误消息中的何处获取整数值。
或者也许 int 会很好?
【问题讨论】:
-
@NIKHILAGGARWAL
0F是float-literal。我看不出这有什么帮助。