>>196
なんでそんなに冗長に書いてるの?
わざとわかりにくく書いてない?

Javaでクロージャと言ったらこうでしょ。
http://docs.guava-libraries.googlecode.com/git/javadoc/com/google/common/collect/Ordering.html

Ordering<String> byLengthOrdering = new Ordering<String>() {
 public int compare(String left, String right) {
  return Ints.compare(left.length(), right.length());
 }
};