生成时出现CodenameOne错误:“0”;错误:找不到符号方法比较(int,int)";

生成时出现CodenameOne错误:“0”;错误:找不到符号方法比较(int,int)";,codenameone,Codenameone,当我在CN13.5.2上发送Android版本时,本地运行的代码似乎不会生成。有人能告诉我,我的代码中是否有错误,而这是一个环境问题吗 我在尝试为Android构建时收到的错误消息是“…错误:找不到符号方法比较(int,int)”和另一个用于Vector类上排序方法的错误消息 牵连的行使用Integer.compare(int,int)方法 下面是使用排序方法的代码: protected Vector getLearnableListModel(Vector<String> modu

当我在CN13.5.2上发送Android版本时,本地运行的代码似乎不会生成。有人能告诉我,我的代码中是否有错误,而这是一个环境问题吗

我在尝试为Android构建时收到的错误消息是“…错误:找不到符号方法比较(int,int)”和另一个用于Vector类上排序方法的错误消息

牵连的行使用Integer.compare(int,int)方法

下面是使用排序方法的代码:

protected Vector getLearnableListModel(Vector<String> modulesSelected,  Vector<String> categoriesSelected){
        Vector result = MyApplication.moduleSet.getLearnableListModel(modulesSelected, categoriesSelected);
        result.sort(new Comparator() {
            @Override
            public int compare(Object o1, Object o2) {
                LearnableSpec ls1 = (LearnableSpec) o1;
                LearnableSpec ls2 = (LearnableSpec) o2;
                return ls1.compareTo(ls2);
            }
        });
        return result;
    }

Codename One实现了Java的一个子集,这意味着缺少了一些东西。令人痛苦的是,这个数字缺失,一些接口并没有像JavaSE中那样实现

请注意,这样做的好处是,一个代号为One的iOS应用程序可以小到3mb,而不是50mb的最小起点


对于字符串比较,您可以使用类似的东西进行常规整数比较,类似于
intA-intB
的东西将非常有效,并满足接口约定。

Codename One实现了Java的一个子集,这意味着缺少一些东西。令人痛苦的是,这个数字缺失,一些接口并没有像JavaSE中那样实现

请注意,这样做的好处是,一个代号为One的iOS应用程序可以小到3mb,而不是50mb的最小起点

对于字符串比较,您可以使用类似的东西进行常规整数比较,类似于
intA-intB
的东西将非常有效并满足接口约定

@Override
    public int compareTo(LearnableSpec other) {
        LinkedHashMap modLHM = MyApplication.moduleSet.getAllModules();
        LinkedHashMap catLHM = MyApplication.moduleSet.getAllCategories();

        int i = Integer.compare(indexOfLinkedHashMapKey(modLHM, moduleID), indexOfLinkedHashMapKey(modLHM, other.getModuleID()));
        if (i != 0) return i;

        i = Integer.compare(indexOfLinkedHashMapKey(catLHM,categoryID),indexOfLinkedHashMapKey(catLHM,other.getCategoryID()));
        if (i != 0) return i;

        return name.compareTo(other.getName());
    }