我想知道是否可以使用 lambdaj 根据 K 的某些属性对 EntrySet <K、V>进行排序?
我不认为 Lambdaj 会让我我只是想确认。
例如,如果我有一个地图<A,B>其中A具有以下结构:
public class A{
private double published;
public double getPublished()
{
return double;
}
}
我可以在 A.getPublished 上使用 lambdaj 对条目集进行排序吗?
由于类型擦除,您所要求的内容是不可能的。事实上,假设你有地图类型的地图,你想做的是:
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 class的对象,然后不允许在其上调用getPublish()方法。