在Java中对保存为字符串的数字进行排序

时间:2016-01-04 19:53:00

标签: android sorting parsing

假设我有数字1,2,11,21

逻辑上我希望他们这样订购; 1,2,11,21

然而,他们正在这样排序; 1,11,2,21

我正在按照升序使用Parse。我该如何解决?

 query.addAscendingOrder(ParseConstants.KEY_CREDITOR_DAYDUE);

2 个答案:

答案 0 :(得分:0)

更具体地说明你正在做什么或想做什么。

为什么要将它们存储为String。

否则,在存储它们之前或从查询中获取它们之后,将它们转换/转换为int。

但是将字符串排序为整数的整个前提是错误的。

你可以用Java编写自己的比较器。

但只需使用适当的数据类型并避免这种黑客行为。

答案 1 :(得分:0)

如果可以使用" 01"," 02"," 10"来构建查询字符串,则可以毫不费力地解决此问题, " 13"等等。小于10的数字,预先设定" 0"。

如果这不可能,您需要使用或制作一个例程,在单个元素中反汇编您的字符串,并根据它们的数字值对它们进行排序。