今日の役に立たない一言 - Today’s Trifle! -

古い記事ではさまざまなテーマを書いていますが、2007年以降はプログラミング関連の話がほとんどです。

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;
			}
		});