Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
NoSuchMethodError-无静态方法比较(java/util/Comparator)_Java_Android_Gluon Mobile - Fatal编程技术网

NoSuchMethodError-无静态方法比较(java/util/Comparator)

NoSuchMethodError-无静态方法比较(java/util/Comparator),java,android,gluon-mobile,Java,Android,Gluon Mobile,我正在Android设备上用Gluon对java.util中的列表进行排序。即使分配了8GB,应用程序也没有针对iOS进行编译(ram不足),但这是另一个问题 classpath'org.javafxports:jfxmobile-plugin:1.3.4' 编译'com.gloonhq:charm:4.3.2' jfxmobile版本='3.2.4' 导致碰撞的这一行: highscoreList.sort(比较(Highscore::getScore.reversed())//#89 我开始

我正在Android设备上用Gluon对
java.util
中的
列表进行排序。即使分配了8GB,应用程序也没有针对iOS进行编译(ram不足),但这是另一个问题

classpath'org.javafxports:jfxmobile-plugin:1.3.4'

编译'com.gloonhq:charm:4.3.2'

jfxmobile版本='3.2.4'

导致碰撞的这一行:

highscoreList.sort(比较(Highscore::getScore.reversed())//#89

我开始搜索,我发现了,所以我试着做以下事情,但它仍然崩溃了,现在我没有主意了:

Comparator<Highscore> comparator = new Comparator<Highscore>() {
    @Override
    public int compare(Highscore highscore1, Highscore highscore2) {
        return highscore1.getScore() - highscore2.getScore();
    }
};

highscoreList.sort(comparator); //#97


03-22 11:30:48.836 16547 16570 E AndroidRuntime: 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)
03-22 11:30:48.836 16547 16570 E AndroidRuntime:        at com.kaufland.pacman.HighscoreUtil.readHighscoreList(HighscoreUtil.java:97)
比较器比较器=新比较器(){ @凌驾 公共整数比较(高分高分1,高分高分2){ 返回highscore1.getScore()-highscore2.getScore(); } }; highscoreList.sort(比较器)//#97 03-22 11:30:48.836 16547 16570 E AndroidRuntime:java.lang.NoSuchMethodError:Ljava/util/List类中没有接口方法排序(Ljava/util/Comparator;)V;或者它的超类(声明'java.util.List'出现在/system/framework/core libart.jar中) 03-22 11:30:48.836 16547 16570 E AndroidRuntime:com.kaufland.pacman.HighscoreUtil.readHighscoreList(HighscoreUtil.java:97)
和都是在API级别24中添加的,您的设备可能运行的API级别较低


从API级别1开始,您可能会有更好的运气。仅供参考。我在使用集合时遇到此错误

我调用了一个函数。此函数尝试调用需要API级别24的函数

如果必须使用较低的API级别,只需使用重载函数并传递适当的比较器。

Collections.sort(highscoreList,(highscore1,highscore2)->highscore2.getScore()-highscore1.getScore())解决了问题,谢谢!
Comparator<Highscore> comparator = new Comparator<Highscore>() {
    @Override
    public int compare(Highscore highscore1, Highscore highscore2) {
        return highscore1.getScore() - highscore2.getScore();
    }
};

highscoreList.sort(comparator); //#97


03-22 11:30:48.836 16547 16570 E AndroidRuntime: 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)
03-22 11:30:48.836 16547 16570 E AndroidRuntime:        at com.kaufland.pacman.HighscoreUtil.readHighscoreList(HighscoreUtil.java:97)