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实现上工作?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)