1

I'm wondering if its possible to sort an EntrySet< K, V > based on some property of K using lambdaj ?

I dont think Lambdaj will let me I just wanted to confirm.

For example if I have a Map< A, B > where A has the following structure:

public class A{
private double published;

     public double getPublished()
     {
           return double; 
     }
}

Am I able to sort an entryset, using lambdaj, on A.getPublished ?

4

1 に答える 1

3

残念ながら、タイプ消去のために、あなたが求めていることは不可能です。実際、タイプ Map のマップがあるとしたら、次のようにします。

sort(map.entrySet(), on(Map.Entry.class).getKey().getPublished());

これは、lambdaj が Map.Entry が実際には Map.Entry であることを認識していないため機能しません (もちろん、on(Map.Entry.class).getKey()... のような構文は許可されていません)。これは、on(Map.Entry.class).getKey() 呼び出しが Object クラスのオブジェクトを返すだけで、その上で getPublished() メソッドを呼び出すことが許可されていないことを意味します。

于 2012-06-29T22:02:58.827 に答える