我想知道是否有可能使用EntrySet<排序K,V>,基于K的一些属性?
我不认为Lambdaj会让我这么做,我只是想确认一下。
例如,如果我有一个Map< A,B>,其中A具有以下结构:
public class A{
private double published;
public double getPublished()
{
return double;
}
}我可以在A.getPublished上使用lambdaj对条目集进行排序吗?
发布于 2012-06-30 06:02:59
不幸的是,由于类型擦除的原因,您所请求的内容是不可能的。实际上,假设你有map类型的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()方法。
https://stackoverflow.com/questions/11264568
复制相似问题