java.lang.NoSuchMethodError:排序arraylist android时没有接口方法sort(Ljava/util/Comparator;)异常 [英] java.lang.NoSuchMethodError: No interface method sort(Ljava/util/Comparator;) exception in sorting arraylist android

查看:40
本文介绍了java.lang.NoSuchMethodError:排序arraylist android时没有接口方法sort(Ljava/util/Comparator;)异常的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试在 Android 应用程序的 Java 中对 ArrayList 进行排序,但我收到了这个奇怪的异常.

I'm trying to sort an ArrayList in Java in Android app but I'm getting this weird exception.

代码:

eventsList.sort(new Comparator<Event>() {
        @Override
        public int compare(Event event, Event t1) {
            return event.getEventStartDate().compareTo(t1.getEventStartDate());
        }
    });

异常:

java.lang.NoSuchMethodError: No interface method sort(Ljava/util/Comparator;)V in class Ljava/util/List; or its super classes (declaration of 'java.util.List' appears in /system/framework/core-libart.jar)

推荐答案

ArrayList#sort() 已在 API 级别 24 中添加,而低于 API 级别 24 的运行时没有该方法.看起来您的 compileSdkVersion 是 24,所以您首先获得了要编译的代码.

ArrayList#sort() was added in API level 24 and runtimes below API level 24 don't have that method. Looks like your compileSdkVersion is at 24 so you got the code to compile in the first place.

改用Collections.sort(list,comparator).

这篇关于java.lang.NoSuchMethodError:排序arraylist android时没有接口方法sort(Ljava/util/Comparator;)异常的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆