为什么List <long> .get(0)返回一个double?

时间:2019-03-12 07:03:39

标签: java android

开始在列表中进行迭代时出现错误。我的列表的类型为Long。但是,当它开始迭代时,它显示了无法将double转换为long的错误!

List<Long> orderNos = settingRepository.getUnchangedOrdersNoInCardindeForEdit();
for (long orderNo : orderNos) {
    ...
}

编辑:

@Override
public List<Long> getUnchangedOrdersNoInCardindeForEdit() {
    String orders = settingPref.getUnchangedOrdersNoInCardindeForEdit();
    return StringHelper.deserialize(orders);
}

public static < T > T deserialize(String obj){
    Gson gson = new Gson();
    Type token = new TypeToken<T>(){}.getType();
    return gson.fromJson(obj, token);
}
  

java.lang.ClassCastException:无法将java.lang.Double强制转换为   java.lang.Long

这是什么问题?如果我的值是double,则应该在填充List<long>的第一行中引发异常,而不是在第二行中引发异常。

enter image description here

enter image description here

0 个答案:

没有答案