- PR -

Commons chainedComparatorについて

1
投稿者投稿内容
みーちく
大ベテラン
会議室デビュー日: 2002/08/29
投稿数: 131
投稿日時: 2008-01-11 11:34
こんにちわ、みーちくと申します。

Commons の ComparatorUtils.chainedComparatorを使用して、下記のデータのソートを行っています。
code1は、not nullのデータですが、code2はnull化のデータとなっている場合、
code2、code1の順番でソート処理を行いたいのですが、うまくソートできません。

A:code1 = 100001, code2 = 001
B:code1 = 100002, code2 = 002
C:code1 = 100003, code2 = null
D:code1 = 100004 code2 = null

上記データの場合、C、D、A、B の順番でソートされます。
A、B、C、Dの順番でソートする場合の方法をご教授願います。

宜しくお願い致します。
ranco
大ベテラン
会議室デビュー日: 2007/11/02
投稿数: 112
投稿日時: 2008-01-11 12:00
> 上記データの場合、C、D、A、B の順番でソートされます。
それは、code2用のComparatorを最初の引数にしてるから当然でしょ?
むむむ、それとも、code2用のComparatorで、nullを最大値扱いすれば、あなたの要求は満たすのかな?


[ メッセージ編集済み 編集者: ranco 編集日時 2008-01-11 12:03 ]
みーちく
大ベテラン
会議室デビュー日: 2002/08/29
投稿数: 131
投稿日時: 2008-01-11 12:11
rancoさん

みーちくです。回答ありがとうございます。
rancoさんのおっしゃるとおり、nullを最大値扱いにして
ソートした結果、うまくいきました。

ありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)