gpt4 book ai didi

java - ArrayList 的比较器不能正常工作
转载 作者:行者123 更新时间:2023-11-30 02:22:01 24 4
gpt4 key购买 nike

请帮我解决这个问题。我一直在尝试编写不同的比较器,但没有一个能正常工作。

他们喜欢按部分分类。让它成为如下值:0, 4, 1, 9 , 18, 3, 18, 9。

排序如下:9, 9, 0, 1, 3, 18, 18, 4。

我会说一些“有序”随机。

请帮忙找出我做错了什么。

类数据和比较器:

public class CoursesData {
private String url;
private String name;
private String lessonsCount;
private String isFree;
private String price;
private String language;
private String difficulty;

private AuthorData author;

public static Comparator<CoursesData> CoursesDataPriceComparator = new Comparator <CoursesData> () {
public int compare (CoursesData left, CoursesData right){
return right.getPrice().compareTo(left.getPrice());
}
};

....(getter-setters)

以及我如何使用这个比较器:

    ArrayList<CoursesData> coursesDatas = parserJson.getCourses();
Collections.sort(coursesDatas, CoursesData.CoursesDataPriceComparator);
mAdapter = new CoursesItemAdapter(getActivity(),
R.layout.catalog_list_item, coursesDatas);

价格是字符串,但带有数字值。也许是问题...

感谢您的帮助。

最佳答案

替换

return right.getPrice().compareTo(left.getPrice());

return new Double(right.getPrice().trim()).compareTo(
new Double(left.getPrice().trim())
);

关于java - ArrayList<Object> 的比较器不能正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28346750/

24 4 0