【发布时间】:2015-06-24 19:12:17
【问题描述】:
如果对象属于参数中提供的特定类型,我想创建一个带有其他类型参数的比较器,以便为属性添加更多优先级。例如,
new Comparator<Person>(){
@override
public int compare(Person p1, Person p2, Person.Type type, float weight)
{
float score1 = p1.getScore();
float score2 = p2.getScore();
if(p1.getType==type)
score1 = weight * score1;
if(p2.getType==type)
score2 = weight * score2;
return Double.compare(score1,score2);
}
}
当对象是特定类型时,我想找到一种方法来实现这种行为。
【问题讨论】:
-
那么看起来你已经在检查类型的问题是什么。
-
目前还不清楚问题出在哪里——这段代码不起作用吗?好像没有。无论如何,这可能类似于:stackoverflow.com/questions/106336/…
标签: java comparator