【发布时间】:2017-01-10 06:06:34
【问题描述】:
这就是我比较 2 个字符串值的方式,值是数字,它工作得非常好,直到它收到一个等于或大于 10 的值。
所以我需要将这些值转换为整数。
TXCartData 类有String rowID
这就是我正在做的。
Collections.sort(data, new Comparator<TXCartData>() {
@Override
public int compare(TXCartData lhs, TXCartData rhs) {
return lhs.rowId.compareToIgnoreCase(rhs.rowId);
}
});
我试图将 rowID 更改为整数,但它给了我一条错误消息,因为它期望输出为 0 或 1,而 1==1 返回 true of false。
这是我尝试过的。
Collections.sort(data, new Comparator<TXCartData>() {
@Override
public int compare(TXCartData lhs, TXCartData rhs) {
return Integer.parseInt(lhs.rowId)== Integer.parseInt(rhs.rowId);
}
});
数据列表很大,我用Comparator排序了3次,结果准确,前2个是字符串,排序准确,但最后一个失败了。
【问题讨论】:
-
你的字符串是否只包含整数?
-
@KarandeepAtwal ,是的,
rowID将始终包含int,但我无法在班级级别更改它,我需要将其转换为int -
你想对arraylist进行排序吗?
-
var rowIdInt = Integer.parseInt(rowID);试试吧 -
@VishalPatoliyaツ 是的,这是一个数组列表,但包含不同类型的数据,我首先需要按部分对它进行排序,即字符串,然后是行,然后是座位。前 2 个工作正常。
标签: java android arrays spring arraylist