java– 为什么sort方法不能在这个自定义AbstractList实现上工作?

java– 为什么sort方法不能在这个自定义AbstractList实现上工作?,第1张

概述AndroidStudio在addAll()方法内的sort()行上给出了“使用API​​记录为@since1.8”错误.我不太清楚这意味着什么……我想要做的就是一个自定义List,我可以通过Articles_Map的publishedAt属性对List进行排序.AbstractArticlesList:publicclassAbstractArticlesListextendsA

Android Studio在addAll()方法内的sort()行上给出了“使用API​​记录为@since 1.8”错误.我不太清楚这意味着什么……

我想要做的就是一个自定义List,我可以通过Articles_Map的publishedAt属性对List进行排序.

AbstractArticlesList:

public class AbstractArticlesList extends AbstractList<Articles_Map> {    private final List<Articles_Map> l;    public AbstractArticlesList() {        l = new ArrayList<>();    }    public Articles_Map get(int index) {        return l.get(index);    }    public Articles_Map set(int index, Articles_Map element) {        Articles_Map oldValue = l.get(index);        l.add(index, element);        return oldValue;    }    public int size() {        return l.size();    }    private voID doAdd(Articles_Map another) {        l.add(another);    }    public voID addAll(List<Articles_Map> others) {        for (Articles_Map a : others) {            doAdd(a);        }        l.sort(byPublishedAtComparator);    }    private final Comparator<Articles_Map> byPublishedAtComparator =            new Comparator<Articles_Map>() {                @OverrIDe                public int compare(Articles_Map o1, Articles_Map o2) {                    if (o1.publishedAt == null) {                        return (o2.publishedAt == null) ? 0 : -1;                    } else if (o2.publishedAt == null) {                        return 1;                    }                    return o1.publishedAt.compareto(o2.publishedAt);                }            };}

Articles_Map:

public class Articles_Map {    public final String Title;    public final String description;    public final String url;    public final String urlToImage;    public final Date publishedAt;    public Articles_Map(String Title, String description, String url, String urlToImage, Date publishedAt) {        this.Title = Title;        this.description = description;        this.url = url;        this.urlToImage = urlToImage;        this.publishedAt = publishedAt;    }}

解决方法:

sort() is new to API Level 24(AndroID 7.0),礼貌的AndroID开始采用Java 1.8的位.

Use Collections.sort()如果你的minSdkVersion低于24.

总结

以上是内存溢出为你收集整理的java – 为什么sort方法不能在这个自定义AbstractList实现上工作?全部内容,希望文章能够帮你解决java – 为什么sort方法不能在这个自定义AbstractList实现上工作?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1116196.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存