slim3のsortInMemory()の挙動が変?
データストアからエンティティを取得して、sortInMemory()でcreateDate.descでソートしたら、なぜか最新のいくつかのエンティティが結果に出てこない。
なぜ?
自作 Comparatorでソートしたらちゃんと最新のエンティティもでてくるんだけど。
なぜ?
List<Hoge> list = Datastore.query(meta).asList(); Collections.sort(list, new Comparator<Hoge>() { @Override public int compare(Hoge h1, Hoge h2) { long t1 = h1.getCreateDate() != null ? h1.getCreateDate().getTime() : -1; long t2 = h2.getCreateDate() != null ? h2.getCreateDate().getTime() : -1; if (t1 > t2) return -1; if (t1 < t2) return 1; return 0; } });