私のオブジェクトのリストを日付フィールドで並べ替え、コンパイラ、ラムダ、ロングなどを試すために、たくさんの(実際には多くの)コードを試してきました。 ..Javaの日付フィールドでオブジェクトのリストをソート
私は何もしていません、私のリストはちょうど注文していないと私は本当に何をすべきか分からない、私はここで何度も検索し、見つけたものすべてを試しました。
投稿のリストがあり、という名前のjava.util.Dateフィールドがに作成されています。これらの投稿はcategoryというエンティティと多対多の関係になっています。
まず私は、カテゴリを作成しました:
Category cat = catCtrl.get(5);
その後、私は記事のリストを取得:リストアウト
List<Post> list = cat.getPostList();
印刷:(ID +作成+タイトル)
45 Sat Nov 25 03:36:06 MST 2017 Donec a libero lacinia
46 Mon Nov 27 02:46:37 MST 2017 Etiam at bibendum mauris
47 Sat Nov 25 03:39:17 MST 2017 Cras vel orci nunc
50 Sat Nov 25 03:37:29 MST 2017 dasdasf
これで、最近のものから古いものまで、作成日順にリストを取得することが考えられます:
46 Mon Nov 27 02:46:37 MST 2017 Etiam at bibendum mauris
47 Sat Nov 25 03:39:17 MST 2017 Cras vel orci nunc
50 Sat Nov 25 03:37:29 MST 2017 dasdasf
45 Sat Nov 25 03:36:06 MST 2017 Donec a libero lacinia
公式ドキュメントによると、これはそれを行う必要があります。
Collections.sort(list, new Comparator<Post>() {
public int compare(Post p1, Post p2) {
return p1.getCreated().compareTo(p2.getCreated());
}
});
そのコードはまったく順序を変更しませんが。
何が欠けていますか?
他の人があなたのコードを実行して問題が何であるかを確認できるように、十分なコードを投稿してください。それはこの質問がより迅速に答えるのを助けるでしょう。 – Keara
これらの投稿をデータベースから取得していますか?おそらくあなたは 'ORDER BY'節を介してデータベース内で注文を行うべきです。また、日付は標準形式ではないようです。日付をテキストとして保存していますか? –
datetime列はNULL可能ですか?あなたはNPEを手に入れていますか? –