【发布时间】:2020-03-31 15:38:39
【问题描述】:
我需要按某个值对 ArrayList 进行排序。
在这种情况下,列表对象 getUsers23 是一个字符串,但我需要将该值作为双精度值进行比较。
示例值或 getUser23 = "67.455432434234"
目前,使用 Collections.sort() 对 arrayList 进行排序是通过 getUser23 将 arrayList 排序为字符串值:
Collections.sort(spotsList1, new Comparator<Spots>(){
public int compare(Spots obj1, Spots obj2) {
return obj1.getUsers23().compareToIgnoreCase(obj2.getUsers23());
}
});
【问题讨论】:
-
你的问题不清楚。您的对象中是否针对 getUser23 存储了 67.455432434234?
-
@RajenRaiyarela,是的,但作为字符串值
-
如果你有 getter,那么你可以像 @Farid 提到的那样做 Double.valueOf("67.455432434234") 或 Double.parseDouble("67.455432434234") 转换为双精度然后比较
-
使用 'Double.parseDouble(getUsers23())' 将字符串转换为双精度然后比较它们
-
@RajenRaiyarela。就在退货之前还是退货内部?