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