【发布时间】:2016-09-10 13:00:55
【问题描述】:
当我在 CN1 3.5.2 上发送 Android 构建时,本地运行的代码似乎不会构建。谁能告诉我我的代码是否有问题而不是环境问题?
我在尝试为 Android 构建时收到的错误消息是“...错误:找不到符号方法 compare(int,int)”,另一个是 Vector 类的排序方法。
涉及的行是使用 Integer.compare(int,int) 方法。
下面是使用 Sort 方法的代码:
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;
}
这是我编写的 compareTo 方法,在“ls1.compareTo(ls2);”上方调用并使用产生其他编译器错误的 Integer.compare(int, int) 方法:
@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());
}
【问题讨论】:
标签: codenameone