假设我有数字1,2,11,21
逻辑上我希望他们这样订购; 1,2,11,21
然而,他们正在这样排序; 1,11,2,21
我正在按照升序使用Parse。我该如何解决?
query.addAscendingOrder(ParseConstants.KEY_CREDITOR_DAYDUE);
答案 0 :(得分:0)
更具体地说明你正在做什么或想做什么。
为什么要将它们存储为String。
否则,在存储它们之前或从查询中获取它们之后,将它们转换/转换为int。
但是将字符串排序为整数的整个前提是错误的。
你可以用Java编写自己的比较器。
但只需使用适当的数据类型并避免这种黑客行为。
答案 1 :(得分:0)
如果可以使用" 01"," 02"," 10"来构建查询字符串,则可以毫不费力地解决此问题, " 13"等等。小于10的数字,预先设定" 0"。
如果这不可能,您需要使用或制作一个例程,在单个元素中反汇编您的字符串,并根据它们的数字值对它们进行排序。