【发布时间】:2017-11-26 19:40:59
【问题描述】:
这对你们所有人来说都是一件好事;几个小时以来,我一直在努力解决这个问题:
我正在尝试使用Array.sort() 按层对对象数组进行排序,并按照另一个堆栈溢出帖子的教程,我尝试了以下代码:
Arrays.sort(gameobj, new Comparator<GameObject>() {
@Override
public int compare(GameObject o1, GameObject o2) {
return o1.layer.compareTo(o2.layer);
}});
这段代码对我来说很有意义,但问题是,接口只接受compare() 方法的一个参数。我也尝试过 lambda 表达式,但这会引发“删除此令牌”编译错误。我正在使用 Java 8。非常感谢任何帮助或建议。
【问题讨论】:
-
嗯?
Comparator.compare接受 两个 参数。 -
layer是什么类型? -
看不懂,但是比较方法有两个参数
-
请向我们展示您有疑问的代码,即您使用
Array.sort()的代码。不清楚您的问题是什么。 -
@Aominè 如果是
int,最好使用Comparator.comparingInt()。
标签: java arrays sorting object