【发布时间】:2023-03-22 17:06:01
【问题描述】:
我有一个项目,其中有一个名为“Floor”的变量作为字符串。我的任务是排序地板 asc 和 desc 方式以显示在 Recycler View 上。
我的 Json 响应包含以下元素:
“楼层”:1
我在微调器中有 asc 和 desc 选项,因此我将向您展示 swicth case 通讯员:
case ASC:
//Sort array list into Ascending order.
Collections.sort(listModelsUa);
listModelsUa.add(modelUA);
case DESC:
Collections.reverse(listModelsUa);
listModelsUa.add(modelUA);
注意:我的 ModelUA 实现了 Comparable 并覆盖了以下方法
String floor;
@Override
public int compareTo(@NonNull Object o) {
int compareTo=((ModelUA )o).getFloor();
/* For Ascending order*/
return this.floor-compareTo;
}
我的问题是,还有其他方法可以使用字符串(可能转换为 Int)对 ArrayList 中的值进行排序并显示在 Recycler 视图中吗?
【问题讨论】:
-
将字符串解析为整数。例如使用
Integer.parseInt(text);。然后你可以像整数一样对它们进行排序。 -
为什么你的
ModelUA实现Comparable而不是Comparable<ModelUA>?或者,为什么你的compareTo方法中有Object?使用泛型,而不是原始类型。
标签: java arrays string collections integer