gpt4 book ai didi

java - 整数不能转换为 Long

转载 作者:行者123 更新时间:2023-12-01 19:30:23 25 4
gpt4 key购买 nike

我正在跟踪 sqlite 数据库的共享首选项中的行 ID。我使用的是 int,但后来我意识到,也许 long 更适合这个,因为 id 值随着时间的推移可能会变得很大。当我尝试从共享首选项中获取Long时,出现此错误:java.lang.ClassCastException:java.lang.Integer无法转换为java.lang.Long

sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
editor = sharedPreferences.edit();
workoutId = sharedPreferences.getLong("workoutId", 0);

我的锻炼Id初始化代码是一个全局变量private long锻炼Id;我不确定它从错误消息中获取整数值。或者也许 int 会很好地适合?

最佳答案

问题出在您的默认值 Integer 上。

你应该使用

workoutId = sharedPreferences.getLong("workoutId", 0L);

或者

workoutId = sharedPreferences.getLong("workoutId", (long) 0);

关于java - 整数不能转换为 Long,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59908244/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com