public class Leaderboard extends RealmObject {
String score;
}
RealmResults<Leaderboard> leaderboardList = realm.where(Leaderboard.class).distinct("score").findAll();
结果Strings
实际上只是存储的大量数字,String
因为 Realm 不支持BigInteger
. 我需要做的是按数字顺序输出这些数字。
不能使用Collections(sort)
,因为min sdk 是 16。使用 StreamSupport lib 也没有运气。我目前正在尝试转换RealmResults
为一个简单的字符串数组,以便可以对其进行排序,但我遇到了麻烦。以下结果会导致转换错误,但即使在更改之前也会导致ldrStrings.get(0)
输出类似于proxy[((75000))]
实数但被该文本包围的内容:
RealmResults<Leaderboard> leaderboardList = realm.where(Leaderboard.class).distinct("score").findAll(); Leaderboard[] leaderboardArray = (Leaderboard[]) leaderboardList.toArray(); List<String> ldrStrings = new ArrayList(leaderboardArray.length); for (Object object : leaderboardArray) { ldrStrings.add(object != null ? object.toString() : null); } Collections.sort(ldrStrings, new Comparator<String>() { @Override public int compare(String o1, String o2) { BigInteger bi1 = new BigInteger(o1); BigInteger bi2 = new BigInteger(o2); return bi1.compareTo(bi2); } });